[EBT] Split @elastic/analytics package (#130574)

Co-authored-by: Spencer <spencer@elastic.co>
This commit is contained in:
Alejandro Fernández Haro 2022-04-20 15:45:37 +02:00 committed by GitHub
parent 45851e16c9
commit fbc8a7176b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
58 changed files with 281 additions and 74 deletions

2
.github/CODEOWNERS vendored
View file

@ -270,7 +270,7 @@
/x-pack/plugins/saved_objects_tagging/ @elastic/kibana-core
/x-pack/test/saved_objects_field_count/ @elastic/kibana-core
/x-pack/test/saved_object_tagging/ @elastic/kibana-core
/packages/elastic-analytics/ @elastic/kibana-core
/packages/analytics/ @elastic/kibana-core
/packages/kbn-config-schema/ @elastic/kibana-core
/packages/kbn-std/ @elastic/kibana-core
/packages/kbn-config/ @elastic/kibana-core

View file

@ -101,7 +101,6 @@
"@dnd-kit/core": "^3.1.1",
"@dnd-kit/sortable": "^4.0.0",
"@dnd-kit/utilities": "^2.0.0",
"@elastic/analytics": "link:bazel-bin/packages/elastic-analytics",
"@elastic/apm-rum": "^5.10.2",
"@elastic/apm-rum-react": "^1.3.4",
"@elastic/apm-synthtrace": "link:bazel-bin/packages/elastic-apm-synthtrace",
@ -134,6 +133,8 @@
"@kbn/ambient-storybook-types": "link:bazel-bin/packages/kbn-ambient-storybook-types",
"@kbn/ambient-ui-types": "link:bazel-bin/packages/kbn-ambient-ui-types",
"@kbn/analytics": "link:bazel-bin/packages/kbn-analytics",
"@kbn/analytics-client": "link:bazel-bin/packages/analytics/client",
"@kbn/analytics-shippers-fullstory": "link:bazel-bin/packages/analytics/shippers/fullstory",
"@kbn/apm-config-loader": "link:bazel-bin/packages/kbn-apm-config-loader",
"@kbn/apm-utils": "link:bazel-bin/packages/kbn-apm-utils",
"@kbn/coloring": "link:bazel-bin/packages/kbn-coloring",
@ -207,7 +208,6 @@
"@turf/distance": "6.0.1",
"@turf/helpers": "6.0.1",
"@turf/length": "^6.0.2",
"@types/elastic__analytics": "link:bazel-bin/packages/elastic-analytics/npm_module_types",
"@types/jsonwebtoken": "^8.5.6",
"@types/mapbox__vector-tile": "1.3.0",
"@types/moment-duration-format": "^2.2.3",
@ -604,6 +604,8 @@
"@types/kbn__ace": "link:bazel-bin/packages/kbn-ace/npm_module_types",
"@types/kbn__alerts": "link:bazel-bin/packages/kbn-alerts/npm_module_types",
"@types/kbn__analytics": "link:bazel-bin/packages/kbn-analytics/npm_module_types",
"@types/kbn__analytics-client": "link:bazel-bin/packages/analytics/client/npm_module_types",
"@types/kbn__analytics-shippers-fullstory": "link:bazel-bin/packages/analytics/shippers/fullstory/npm_module_types",
"@types/kbn__apm-config-loader": "link:bazel-bin/packages/kbn-apm-config-loader/npm_module_types",
"@types/kbn__apm-utils": "link:bazel-bin/packages/kbn-apm-utils/npm_module_types",
"@types/kbn__axe-config": "link:bazel-bin/packages/kbn-axe-config/npm_module_types",

View file

@ -9,7 +9,8 @@
filegroup(
name = "build_pkg_code",
srcs = [
"//packages/elastic-analytics:build",
"//packages/analytics/client:build",
"//packages/analytics/shippers/fullstory:build",
"//packages/elastic-apm-synthtrace:build",
"//packages/elastic-eslint-config-kibana:build",
"//packages/elastic-safer-lodash-set:build",
@ -112,7 +113,8 @@ filegroup(
filegroup(
name = "build_pkg_types",
srcs = [
"//packages/elastic-analytics:build_types",
"//packages/analytics/client:build_types",
"//packages/analytics/shippers/fullstory:build_types",
"//packages/elastic-apm-synthtrace:build_types",
"//packages/elastic-safer-lodash-set:build_types",
"//packages/kbn-ace:build_types",

View file

@ -0,0 +1,11 @@
# @kbn/analytics-*
This module implements the Analytics client used for Event-Based Telemetry. The intention of the client is to be usable on both: the UI and the Server sides.
## Client
Holds the public APIs to report events, enrich the events' context and set up the transport mechanisms. Refer to the [client's docs](./client/README.md) for more information.
## Prebuilt shippers
Elastic-approved shippers are available as `@kbn/analytics-shippers-*` packages. Refer to the [shippers' docs](./shippers/README.md) for more information.

View file

@ -2,8 +2,8 @@ load("@npm//@bazel/typescript:index.bzl", "ts_config")
load("@build_bazel_rules_nodejs//:index.bzl", "js_library")
load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project")
PKG_DIRNAME = "elastic-analytics"
PKG_REQUIRE_NAME = "@elastic/analytics"
PKG_DIRNAME = "client"
PKG_REQUIRE_NAME = "@kbn/analytics-client"
SOURCE_FILES = glob(
[
@ -36,7 +36,6 @@ NPM_MODULE_EXTRA_FILES = [
# "@npm//name-of-package"
# eg. "@npm//lodash"
RUNTIME_DEPS = [
"@npm//moment",
"@npm//rxjs",
]
@ -52,7 +51,6 @@ RUNTIME_DEPS = [
TYPES_DEPS = [
"@npm//@types/node",
"@npm//@types/jest",
"@npm//moment",
"@npm//rxjs",
"//packages/kbn-logging:npm_module_types",
"//packages/kbn-logging-mocks:npm_module_types",

View file

@ -1,4 +1,4 @@
# @elastic/analytics
# @kbn/analytics-client
This module implements the Analytics client used for Event-Based Telemetry. The intention of the client is to be usable on both: the UI and the Server sides.
@ -7,7 +7,7 @@ This module implements the Analytics client used for Event-Based Telemetry. The
It all starts by creating the client with the `createAnalytics` API:
```typescript
import { createAnalytics } from '@elastic/analytics';
import { createAnalytics } from '@kbn/analytics-client';
const analytics = createAnalytics({
// Set to `true` when running in developer mode.
@ -107,7 +107,7 @@ analytics.registerContextProvider({
### Setting the user's opt-in consent
The client cannot send any data until the user provides consent. At the beginning, the client will internally enqueue any incoming events until the consent is either granted or refused.
The client cannot send any data until the user provides consent. At the beginning, the client will internally enqueue any incoming events until the consent is either granted or refused.
To set the user's selection use the `optIn` API:
@ -145,7 +145,7 @@ There are some prebuilt shippers in this package that can be enabled using the A
#### Prebuilt shippers
TODO when actually implemented
Refer to the [shippers' documentation](../shippers/README.md) for more information.
#### Custom shippers
@ -158,7 +158,7 @@ import type {
EventContext,
IShipper,
TelemetryCounter
} from '@elastic/analytics';
} from '@kbn/analytics-client';
class MyVeryOwnShipper implements IShipper {
constructor(myOptions: MyOptions, initContext: AnalyticsClientInitContext) {
@ -188,7 +188,7 @@ analytics.registerShipper(MyVeryOwnShipper, myOptions);
Schemas are a framework that allows us to document the structure of the events that our application will report. It is useful to understand the meaning of the events that we report. And, at the same time, it serves as an extra validation step from the developer's point of view.
The syntax of a schema is a _simplified ES mapping on steroids_: it removes some of the ES mapping complexity, and at the same time, it includes features that are specific to the telemetry collection.
The syntax of a schema is a _simplified ES mapping on steroids_: it removes some of the ES mapping complexity, and at the same time, it includes features that are specific to the telemetry collection.
**DISCLAIMER:** **The schema is not a direct mapping to ES indices.** The final structure of how the event is stored will depend on many factors like the context providers, shippers and final analytics solution.
@ -226,7 +226,7 @@ For the `_meta`, refer to [Schema Specification: `_meta`](#schema-specification-
#### Schema Specification: Objects
Declaring the schema of an object contains 2 main attributes: `properties` and an optional `_meta`:
Declaring the schema of an object contains 2 main attributes: `properties` and an optional `_meta`:
The `properties` attribute is an object with all the keys that the original object may include:
@ -324,7 +324,7 @@ For the optional `_meta`, refer to [Schema Specification: `_meta`](#schema-speci
#### Schema Specification: `_meta`
The `_meta` adds the invaluable information of a `description` and whether a field is `optional` in the payload.
The `_meta` adds the invaluable information of a `description` and whether a field is `optional` in the payload.
It can be attached to any schema definition as seen in the examples above. For high-order types, like arrays or objects, the `_meta` field is optional. For first-order types, like numbers, strings, booleans or `pass_through`, the `_meta` key is mandatory.

View file

@ -8,6 +8,6 @@
module.exports = {
preset: '@kbn/test/jest_node',
rootDir: '../..',
roots: ['<rootDir>/packages/elastic-analytics'],
rootDir: '../../../',
roots: ['<rootDir>/packages/analytics/client'],
};

View file

@ -1,5 +1,5 @@
{
"name": "@elastic/analytics",
"name": "@kbn/analytics-client",
"private": true,
"version": "1.0.0",
"main": "./target_node/index.js",

View file

@ -55,5 +55,4 @@ export type {
AllowedSchemaTypes,
} from './schema';
export type { IShipper, FullStorySnippetConfig, FullStoryShipperConfig } from './shippers';
export { FullStoryShipper } from './shippers';
export type { IShipper } from './shippers';

View file

@ -7,6 +7,3 @@
*/
export type { IShipper } from './types';
export { FullStoryShipper } from './fullstory';
export type { FullStorySnippetConfig, FullStoryShipperConfig } from './fullstory';

View file

@ -1,9 +1,8 @@
{
"extends": "../../tsconfig.bazel.json",
"extends": "../../../tsconfig.bazel.json",
"compilerOptions": {
"declaration": true,
"emitDeclarationOnly": true,
"isolatedModules": true,
"outDir": "target_types",
"rootDir": "src",
"stripInternal": false,

View file

@ -0,0 +1,5 @@
# @kbn/analytics-shippers-*
This directory holds the implementation of the _built-in_ shippers provided by the Analytics client. At the moment, the shippers are:
* [FullStory](./fullstory/README.md)

View file

@ -0,0 +1,118 @@
load("@npm//@bazel/typescript:index.bzl", "ts_config")
load("@build_bazel_rules_nodejs//:index.bzl", "js_library")
load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project")
PKG_DIRNAME = "fullstory"
PKG_REQUIRE_NAME = "@kbn/analytics-shippers-fullstory"
SOURCE_FILES = glob(
[
"src/**/*.ts",
],
exclude = [
"**/*.test.*",
],
)
SRCS = SOURCE_FILES
filegroup(
name = "srcs",
srcs = SRCS,
)
NPM_MODULE_EXTRA_FILES = [
"package.json",
]
# In this array place runtime dependencies, including other packages and NPM packages
# which must be available for this code to run.
#
# To reference other packages use:
# "//repo/relative/path/to/package"
# eg. "//packages/kbn-utils"
#
# To reference a NPM package use:
# "@npm//name-of-package"
# eg. "@npm//lodash"
RUNTIME_DEPS = [
"@npm//moment",
]
# In this array place dependencies necessary to build the types, which will include the
# :npm_module_types target of other packages and packages from NPM, including @types/*
# packages.
#
# To reference the types for another package use:
# "//repo/relative/path/to/package:npm_module_types"
# eg. "//packages/kbn-utils:npm_module_types"
#
# References to NPM packages work the same as RUNTIME_DEPS
TYPES_DEPS = [
"@npm//@types/node",
"@npm//@types/jest",
"@npm//moment",
"//packages/analytics/client:npm_module_types",
"//packages/kbn-logging-mocks:npm_module_types",
]
jsts_transpiler(
name = "target_node",
srcs = SRCS,
build_pkg_name = package_name(),
)
ts_config(
name = "tsconfig",
src = "tsconfig.json",
deps = [
"//:tsconfig.base.json",
"//:tsconfig.bazel.json",
],
)
ts_project(
name = "tsc_types",
args = ['--pretty'],
srcs = SRCS,
deps = TYPES_DEPS,
declaration = True,
emit_declaration_only = True,
out_dir = "target_types",
root_dir = "src",
tsconfig = ":tsconfig",
)
js_library(
name = PKG_DIRNAME,
srcs = NPM_MODULE_EXTRA_FILES,
deps = RUNTIME_DEPS + [":target_node"],
package_name = PKG_REQUIRE_NAME,
visibility = ["//visibility:public"],
)
pkg_npm(
name = "npm_module",
deps = [":" + PKG_DIRNAME],
)
filegroup(
name = "build",
srcs = [":npm_module"],
visibility = ["//visibility:public"],
)
pkg_npm_types(
name = "npm_module_types",
srcs = SRCS,
deps = [":tsc_types"],
package_name = PKG_REQUIRE_NAME,
tsconfig = ":tsconfig",
visibility = ["//visibility:public"],
)
filegroup(
name = "build_types",
srcs = [":npm_module_types"],
visibility = ["//visibility:public"],
)

View file

@ -0,0 +1,23 @@
# @kbn/analytics-shippers-fullstory
FullStory implementation as a shipper for the `@kbn/analytics-client`.
## How to use it
This module is intended to be used on the UI only. It does not support server-side events.
```typescript
import { FullStoryShipper } from "@kbn/analytics-shippers-fullstory";
analytics.registerShipper(FullStoryShipper, { fullStoryOrgId: '12345' })
```
## Configuration
| Name | Description |
|:----------------:|:----------------------------------------------------------------------------------------------------------------------------------|
| `fullStoryOrgId` | FullStory account ID |
| `host` | The host to send the data to. Used to overcome AdBlockers by using custom DNSs. If not specified, it defaults to `fullstory.com`. |
| `scriptUrl` | The URL to load the FullStory client from. Falls back to `edge.fullstory.com/s/fs.js` if not specified. |
| `debug` | Whether the debug logs should be printed to the console. Defaults to `false`. |
| `namespace` | The name of the variable where the API is stored: `window[namespace]`. Defaults to `FS`. |

View file

@ -0,0 +1,13 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
module.exports = {
preset: '@kbn/test/jest_node',
rootDir: '../../../../',
roots: ['<rootDir>/packages/analytics/shippers/fullstory'],
};

View file

@ -0,0 +1,7 @@
{
"name": "@kbn/analytics-shippers-fullstory",
"private": true,
"version": "1.0.0",
"main": "./target_node/index.js",
"license": "SSPL-1.0 OR Elastic License 2.0"
}

View file

@ -6,9 +6,12 @@
* Side Public License, v 1.
*/
import type { IShipper } from '../types';
import type { AnalyticsClientInitContext } from '../../analytics_client';
import type { EventContext, Event } from '../../events';
import type {
AnalyticsClientInitContext,
EventContext,
Event,
IShipper,
} from '@kbn/analytics-client';
import type { FullStoryApi } from './types';
import type { FullStorySnippetConfig } from './load_snippet';
import { getParsedVersion } from './get_parsed_version';

View file

@ -0,0 +1,17 @@
{
"extends": "../../../../tsconfig.bazel.json",
"compilerOptions": {
"declaration": true,
"emitDeclarationOnly": true,
"outDir": "target_types",
"rootDir": "src",
"stripInternal": false,
"types": [
"jest",
"node"
]
},
"include": [
"src/**/*"
]
}

View file

@ -19,7 +19,12 @@ import { REPO_ROOT } from '@kbn/utils';
* eg. src/vis_editors => would find a package at src/vis_editors/foo/package.json
* src/vis_editors/* => would find a package at src/vis_editors/foo/bar/package.json
*/
export const BAZEL_PACKAGE_DIRS = ['packages', 'packages/shared-ux/*'];
export const BAZEL_PACKAGE_DIRS = [
'packages',
'packages/shared-ux/*',
'packages/analytics',
'packages/analytics/shippers',
];
/**
* Resolve all the BAZEL_PACKAGE_DIRS to absolute paths

View file

@ -6,8 +6,8 @@
* Side Public License, v 1.
*/
import type { AnalyticsClient } from '@elastic/analytics';
import { createAnalytics } from '@elastic/analytics';
import type { AnalyticsClient } from '@kbn/analytics-client';
import { createAnalytics } from '@kbn/analytics-client';
import { CoreContext } from '../core_system';
import { createLogger } from './logger';

View file

@ -20,6 +20,6 @@ export type {
OptInConfig,
ContextProviderOpts,
TelemetryCounter,
} from '@elastic/analytics';
} from '@kbn/analytics-client';
export { TelemetryCounterType } from '@elastic/analytics';
export { TelemetryCounterType } from '@kbn/analytics-client';

View file

@ -7,13 +7,13 @@
/// <reference types="node" />
import { Action } from 'history';
import { AnalyticsClient } from '@elastic/analytics';
import { AnalyticsClient } from '@kbn/analytics-client';
import Boom from '@hapi/boom';
import type { ButtonColor } from '@elastic/eui';
import { ByteSizeValue } from '@kbn/config-schema';
import type { Client } from '@elastic/elasticsearch';
import { ConfigPath } from '@kbn/config';
import { ContextProviderOpts } from '@elastic/analytics';
import { ContextProviderOpts } from '@kbn/analytics-client';
import { DetailedPeerCertificate } from 'tls';
import type { DocLinks } from '@kbn/doc-links';
import { EnvironmentMode } from '@kbn/config';
@ -24,15 +24,15 @@ import { EuiConfirmModalProps } from '@elastic/eui';
import { EuiFlyoutSize } from '@elastic/eui';
import { EuiGlobalToastListToast } from '@elastic/eui';
import { EuiOverlayMaskProps } from '@elastic/eui';
import { Event as Event_2 } from '@elastic/analytics';
import { EventContext } from '@elastic/analytics';
import { EventType } from '@elastic/analytics';
import { EventTypeOpts } from '@elastic/analytics';
import { Event as Event_2 } from '@kbn/analytics-client';
import { EventContext } from '@kbn/analytics-client';
import { EventType } from '@kbn/analytics-client';
import { EventTypeOpts } from '@kbn/analytics-client';
import { History as History_2 } from 'history';
import { Href } from 'history';
import { IconType } from '@elastic/eui';
import { IncomingHttpHeaders } from 'http';
import { IShipper } from '@elastic/analytics';
import { IShipper } from '@kbn/analytics-client';
import { Location as Location_2 } from 'history';
import { LocationDescriptorObject } from 'history';
import { Logger } from '@kbn/logging';
@ -40,7 +40,7 @@ import { LogMeta } from '@kbn/logging';
import { MaybePromise } from '@kbn/utility-types';
import { ObjectType } from '@kbn/config-schema';
import { Observable } from 'rxjs';
import { OptInConfig } from '@elastic/analytics';
import { OptInConfig } from '@kbn/analytics-client';
import { PackageInfo } from '@kbn/config';
import { Path } from 'history';
import { PeerCertificate } from 'tls';
@ -50,9 +50,9 @@ import { RecursiveReadonly } from '@kbn/utility-types';
import { Request as Request_2 } from '@hapi/hapi';
import * as Rx from 'rxjs';
import { SchemaTypeError } from '@kbn/config-schema';
import { ShipperClassConstructor } from '@elastic/analytics';
import { TelemetryCounter } from '@elastic/analytics';
import { TelemetryCounterType } from '@elastic/analytics';
import { ShipperClassConstructor } from '@kbn/analytics-client';
import { TelemetryCounter } from '@kbn/analytics-client';
import { TelemetryCounterType } from '@kbn/analytics-client';
import type { ThemeVersion } from '@kbn/ui-shared-deps-npm';
import { TransitionPromptHook } from 'history';
import { Type } from '@kbn/config-schema';

View file

@ -6,8 +6,8 @@
* Side Public License, v 1.
*/
import type { AnalyticsClient } from '@elastic/analytics';
import { createAnalytics } from '@elastic/analytics';
import type { AnalyticsClient } from '@kbn/analytics-client';
import { createAnalytics } from '@kbn/analytics-client';
import type { CoreContext } from '../core_context';
/**

View file

@ -24,6 +24,6 @@ export type {
OptInConfig,
ContextProviderOpts,
TelemetryCounter,
} from '@elastic/analytics';
} from '@kbn/analytics-client';
export { TelemetryCounterType } from '@elastic/analytics';
export { TelemetryCounterType } from '@kbn/analytics-client';

View file

@ -7,7 +7,7 @@
/// <reference types="node" />
import { AddConfigDeprecation } from '@kbn/config';
import { AnalyticsClient } from '@elastic/analytics';
import { AnalyticsClient } from '@kbn/analytics-client';
import apm from 'elastic-apm-node';
import Boom from '@hapi/boom';
import { ByteSizeValue } from '@kbn/config-schema';
@ -21,7 +21,7 @@ import { ConfigDeprecationFactory } from '@kbn/config';
import { ConfigDeprecationProvider } from '@kbn/config';
import { ConfigPath } from '@kbn/config';
import { ConfigService } from '@kbn/config';
import { ContextProviderOpts } from '@elastic/analytics';
import { ContextProviderOpts } from '@kbn/analytics-client';
import { DetailedPeerCertificate } from 'tls';
import type { DocLinks } from '@kbn/doc-links';
import { Duration } from 'moment';
@ -34,12 +34,12 @@ import { EcsEventType } from '@kbn/logging';
import { EnvironmentMode } from '@kbn/config';
import { errors } from '@elastic/elasticsearch';
import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey';
import { Event as Event_2 } from '@elastic/analytics';
import { EventContext } from '@elastic/analytics';
import { EventType } from '@elastic/analytics';
import { EventTypeOpts } from '@elastic/analytics';
import { Event as Event_2 } from '@kbn/analytics-client';
import { EventContext } from '@kbn/analytics-client';
import { EventType } from '@kbn/analytics-client';
import { EventTypeOpts } from '@kbn/analytics-client';
import { IncomingHttpHeaders } from 'http';
import { IShipper } from '@elastic/analytics';
import { IShipper } from '@kbn/analytics-client';
import { Logger } from '@kbn/logging';
import { LoggerFactory } from '@kbn/logging';
import { LogLevel as LogLevel_2 } from '@kbn/logging';
@ -48,7 +48,7 @@ import { LogRecord } from '@kbn/logging';
import { MaybePromise } from '@kbn/utility-types';
import { ObjectType } from '@kbn/config-schema';
import { Observable } from 'rxjs';
import { OptInConfig } from '@elastic/analytics';
import { OptInConfig } from '@kbn/analytics-client';
import { PackageInfo } from '@kbn/config';
import { PathConfigType } from '@kbn/utils';
import { PeerCertificate } from 'tls';
@ -60,10 +60,10 @@ import { ResponseObject } from '@hapi/hapi';
import { ResponseToolkit } from '@hapi/hapi';
import { SchemaTypeError } from '@kbn/config-schema';
import { ShallowPromise } from '@kbn/utility-types';
import { ShipperClassConstructor } from '@elastic/analytics';
import { ShipperClassConstructor } from '@kbn/analytics-client';
import { Stream } from 'stream';
import { TelemetryCounter } from '@elastic/analytics';
import { TelemetryCounterType } from '@elastic/analytics';
import { TelemetryCounter } from '@kbn/analytics-client';
import { TelemetryCounterType } from '@kbn/analytics-client';
import { Type } from '@kbn/config-schema';
import { TypeOf } from '@kbn/config-schema';
import { UiCounterMetricType } from '@kbn/analytics';

View file

@ -8,7 +8,7 @@
import type { ElasticsearchClient, SavedObjectsClientContract, Logger } from '@kbn/core/server';
import type { PossibleSchemaTypes } from '@elastic/analytics';
import type { PossibleSchemaTypes } from '@kbn/analytics-client';
export type {
AllowedSchemaTypes,
@ -16,7 +16,7 @@ export type {
AllowedSchemaBooleanTypes,
AllowedSchemaNumberTypes,
PossibleSchemaTypes,
} from '@elastic/analytics';
} from '@kbn/analytics-client';
/**
* Helper to find out whether to keep recursively looking or if we are on an end value

View file

@ -7,7 +7,7 @@
*/
import { Subject } from 'rxjs';
import { TelemetryCounterType } from '@elastic/analytics';
import { TelemetryCounterType } from '@kbn/analytics-client';
import type { Event, EventContext, IShipper, TelemetryCounter } from '@kbn/core/public';
export interface Action {

View file

@ -7,7 +7,7 @@
*/
import { Subject } from 'rxjs';
import { TelemetryCounterType } from '@elastic/analytics';
import { TelemetryCounterType } from '@kbn/analytics-client';
import type { IShipper, Event, EventContext, TelemetryCounter } from '@kbn/core/server';
export interface Action {

View file

@ -255,7 +255,7 @@ export class CloudPlugin implements Plugin<CloudSetup> {
}
// Keep this import async so that we do not load any FullStory code into the browser when it is disabled.
const { FullStoryShipper } = await import('@elastic/analytics');
const { FullStoryShipper } = await import('@kbn/analytics-shippers-fullstory');
analytics.registerShipper(FullStoryShipper, {
fullStoryOrgId,
// Load an Elastic-internally audited script. Ideally, it should be hosted on a CDN.

View file

@ -1415,10 +1415,6 @@
dependencies:
tslib "^2.0.0"
"@elastic/analytics@link:bazel-bin/packages/elastic-analytics":
version "0.0.0"
uid ""
"@elastic/apm-rum-core@^5.14.1":
version "5.14.1"
resolved "https://registry.yarnpkg.com/@elastic/apm-rum-core/-/apm-rum-core-5.14.1.tgz#8f65060967c8d68498f2c520e4169ec07eb3b5bb"
@ -2932,6 +2928,14 @@
version "0.0.0"
uid ""
"@kbn/analytics-client@link:bazel-bin/packages/analytics/client":
version "0.0.0"
uid ""
"@kbn/analytics-shippers-fullstory@link:bazel-bin/packages/analytics/shippers/fullstory":
version "0.0.0"
uid ""
"@kbn/analytics@link:bazel-bin/packages/kbn-analytics":
version "0.0.0"
uid ""
@ -5606,10 +5610,6 @@
resolved "https://registry.yarnpkg.com/@types/ejs/-/ejs-3.0.6.tgz#aca442289df623bfa8e47c23961f0357847b83fe"
integrity sha512-fj1hi+ZSW0xPLrJJD+YNwIh9GZbyaIepG26E/gXvp8nCa2pYokxUYO1sK9qjGxp2g8ryZYuon7wmjpwE2cyASQ==
"@types/elastic__analytics@link:bazel-bin/packages/elastic-analytics/npm_module_types":
version "0.0.0"
uid ""
"@types/elastic__apm-synthtrace@link:bazel-bin/packages/elastic-apm-synthtrace/npm_module_types":
version "0.0.0"
uid ""
@ -6020,6 +6020,14 @@
version "0.0.0"
uid ""
"@types/kbn__analytics-client@link:bazel-bin/packages/analytics/client/npm_module_types":
version "0.0.0"
uid ""
"@types/kbn__analytics-shippers-fullstory@link:bazel-bin/packages/analytics/shippers/fullstory/npm_module_types":
version "0.0.0"
uid ""
"@types/kbn__analytics@link:bazel-bin/packages/kbn-analytics/npm_module_types":
version "0.0.0"
uid ""