kibana/packages/kbn-profiling-utils/index.ts
Cauê Marcondes 98d2766de8
[Profiling-APM] Removing Profiling dependency from APM (#166253)
This PR removes the Profiling dependency from APM, introduced on `8.10`.

- Exposes a new service in profiling-data-access plugin
- Create a new APM API that calls the new service and checks if
Profiling is initialized
- Move Locators from the Profiling plugin to the Observability-shared
plugin
- Move logic to check Profiling status (has_setup/has_data...) from
Profiling server to profiling-data-access plugin
- Create API tests, testing the status services based on different
scenarios:
  - When profiling hasn't been initialized and there's no data
  - When profiling is initialized but has no data
  - When collector integration is not installed
  - When symbolized integration is not installed
  - When APM server integration is not found

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-09-22 09:16:48 +01:00

53 lines
1.7 KiB
TypeScript

/*
* 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.
*/
export { decodeStackTraceResponse } from './common/stack_traces';
export { createBaseFlameGraph, createFlameGraph } from './common/flamegraph';
export { createCalleeTree } from './common/callee';
export { ProfilingESField } from './common/elasticsearch';
export {
groupStackFrameMetadataByStackTrace,
describeFrameType,
FrameType,
getCalleeFunction,
getCalleeSource,
getLanguageType,
FrameSymbolStatus,
getFrameSymbolStatus,
createStackFrameMetadata,
emptyExecutable,
emptyStackFrame,
emptyStackTrace,
} from './common/profiling';
export { getFieldNameForTopNType, TopNType, StackTracesDisplayOption } from './common/stack_traces';
export { createFrameGroupID } from './common/frame_group';
export {
createTopNFunctions,
TopNFunctionSortField,
topNFunctionSortFieldRt,
} from './common/functions';
export type { CalleeTree } from './common/callee';
export type {
ProfilingStatusResponse,
StackTraceResponse,
DecodedStackTraceResponse,
} from './common/stack_traces';
export type { ElasticFlameGraph, BaseFlameGraph } from './common/flamegraph';
export type { FrameGroupID } from './common/frame_group';
export type {
Executable,
FileID,
StackFrame,
StackFrameID,
StackFrameMetadata,
StackTrace,
StackTraceID,
} from './common/profiling';
export type { ProfilingStatus } from './common/profiling_status';
export type { TopNFunctions } from './common/functions';