@opentelemetry/plugin-react-load 0.31.0 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
- export declare type RenderFunction = () => React.ReactNode;
3
- export declare type ComponentDidMountFunction = (() => void) | undefined;
4
- export declare type ComponentDidUpdateFunction = ((prevProps: Readonly<any>, prevState: Readonly<any>, snapshot?: any) => void) | undefined;
5
- export declare type ShouldComponentUpdateFunction = ((nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any) => boolean) | undefined;
6
- export declare type SetStateFunction = <K extends never>(state: any | ((prevState: Readonly<any>, props: Readonly<any>) => any | Pick<any, K> | null) | Pick<any, K> | null, callback?: (() => void) | undefined) => void;
7
- export declare type ForceUpdateFunction = (callback?: (() => void) | undefined) => void;
8
- export declare type GetSnapshotBeforeUpdateFunction = ((prevProps: Readonly<any>, prevState: Readonly<any>) => any) | undefined;
9
- export declare type ComponentWillUnmountFunction = (() => void) | undefined;
2
+ export type RenderFunction = () => React.ReactNode;
3
+ export type ComponentDidMountFunction = (() => void) | undefined;
4
+ export type ComponentDidUpdateFunction = ((prevProps: Readonly<any>, prevState: Readonly<any>, snapshot?: any) => void) | undefined;
5
+ export type ShouldComponentUpdateFunction = ((nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any) => boolean) | undefined;
6
+ export type SetStateFunction = <K extends never>(state: any | ((prevState: Readonly<any>, props: Readonly<any>) => any | Pick<any, K> | null) | Pick<any, K> | null, callback?: (() => void) | undefined) => void;
7
+ export type ForceUpdateFunction = (callback?: (() => void) | undefined) => void;
8
+ export type GetSnapshotBeforeUpdateFunction = ((prevProps: Readonly<any>, prevState: Readonly<any>) => any) | undefined;
9
+ export type ComponentWillUnmountFunction = (() => void) | undefined;
10
10
  //# sourceMappingURL=internal-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal-types.d.ts","sourceRoot":"","sources":["../../src/internal-types.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,oBAAY,cAAc,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC;AAKnD,oBAAY,yBAAyB,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;AAKjE,oBAAY,0BAA0B,GAClC,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,QAAQ,CAAC,EAAE,GAAG,KACX,IAAI,CAAC,GACV,SAAS,CAAC;AAKd,oBAAY,6BAA6B,GACrC,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,WAAW,EAAE,GAAG,KACb,OAAO,CAAC,GACb,SAAS,CAAC;AAKd,oBAAY,gBAAgB,GAAG,CAAC,CAAC,SAAS,KAAK,EAC7C,KAAK,EACD,GAAG,GACH,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KACjB,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GACZ,IAAI,EACR,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,KAChC,IAAI,CAAC;AAKV,oBAAY,mBAAmB,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;AAKhF,oBAAY,+BAA+B,GACvC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAC7D,SAAS,CAAC;AAKd,oBAAY,4BAA4B,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"internal-types.d.ts","sourceRoot":"","sources":["../../src/internal-types.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC;AAKnD,MAAM,MAAM,yBAAyB,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;AAKjE,MAAM,MAAM,0BAA0B,GAClC,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,QAAQ,CAAC,EAAE,GAAG,KACX,IAAI,CAAC,GACV,SAAS,CAAC;AAKd,MAAM,MAAM,6BAA6B,GACrC,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,WAAW,EAAE,GAAG,KACb,OAAO,CAAC,GACb,SAAS,CAAC;AAKd,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,SAAS,KAAK,EAC7C,KAAK,EACD,GAAG,GACH,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KACjB,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GACZ,IAAI,EACR,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,KAChC,IAAI,CAAC;AAKV,MAAM,MAAM,mBAAmB,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;AAKhF,MAAM,MAAM,+BAA+B,GACvC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAC7D,SAAS,CAAC;AAKd,MAAM,MAAM,4BAA4B,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC"}
@@ -1,3 +1,3 @@
1
- export declare const PACKAGE_VERSION = "0.31.0";
1
+ export declare const PACKAGE_VERSION = "0.32.0";
2
2
  export declare const PACKAGE_NAME = "@opentelemetry/plugin-react-load";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -14,6 +14,6 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  // this is autogenerated file, see scripts/version-update.js
17
- export var PACKAGE_VERSION = '0.31.0';
18
- export var PACKAGE_NAME = '@opentelemetry/plugin-react-load';
17
+ export const PACKAGE_VERSION = '0.32.0';
18
+ export const PACKAGE_NAME = '@opentelemetry/plugin-react-load';
19
19
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,IAAM,eAAe,GAAG,QAAQ,CAAC;AACxC,MAAM,CAAC,IAAM,YAAY,GAAG,kCAAkC,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const PACKAGE_VERSION = '0.31.0';\nexport const PACKAGE_NAME = '@opentelemetry/plugin-react-load';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AACxC,MAAM,CAAC,MAAM,YAAY,GAAG,kCAAkC,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const PACKAGE_VERSION = '0.32.0';\nexport const PACKAGE_NAME = '@opentelemetry/plugin-react-load';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseOpenTelemetryComponent.d.ts","sourceRoot":"","sources":["../../src/BaseOpenTelemetryComponent.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAI1C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,KAAK,CAAC,SAAS;IAC7D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAgB;IAC1C,UAAU,SAAkB;IAC5B,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,MAAM,CAAC,OAAO,CAAa;IACnC,OAAO,CAAC,MAAM,CAAC,OAAO,CAA4B;IAElD;;OAEG;gBACS,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC;IAMhC;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAOtD;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,GAAG,IAAI;IAK9C;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAMnB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAQtB;;;QAGI;IACJ,OAAO,CAAC,cAAc;IActB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,YAAY;IA4BpB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAiCnC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IA0BrC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA4BhC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA4BlC;;OAEG;IACI,KAAK,IAAI,IAAI;IA8GpB;;OAEG;IACI,OAAO,IAAI,IAAI;CAqBvB"}
1
+ {"version":3,"file":"BaseOpenTelemetryComponent.d.ts","sourceRoot":"","sources":["../../src/BaseOpenTelemetryComponent.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAI1C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,KAAK,CAAC,SAAS;IAC7D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAgB;IAC1C,UAAU,SAAkB;IAC5B,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,MAAM,CAAC,OAAO,CAAa;IACnC,OAAO,CAAC,MAAM,CAAC,OAAO,CAA4B;IAElD;;OAEG;gBACS,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC;IAMhC;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAOtD;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,GAAG,IAAI;IAK9C;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAMnB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAQtB;;;QAGI;IACJ,OAAO,CAAC,cAAc;IActB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,YAAY;IA4BpB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAiCnC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IA0BrC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA4BhC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA4BlC;;OAEG;IACI,KAAK,IAAI,IAAI;IA8GpB;;OAEG;IACI,OAAO,IAAI,IAAI;CAqBvB"}
@@ -14,22 +14,26 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import * as api from '@opentelemetry/api';
17
- import { isWrapped } from '@opentelemetry/core';
17
+ import { isWrapped } from '@opentelemetry/instrumentation';
18
18
  import * as shimmer from 'shimmer';
19
19
  import { AttributeNames } from './enums/AttributeNames';
20
20
  import * as React from 'react';
21
+ /** @knipignore */
21
22
  import { PACKAGE_VERSION } from './version';
22
23
  /**
23
24
  * This class is the base component for a React component with lifecycle instrumentation
24
25
  */
25
- export class BaseOpenTelemetryComponent extends React.Component {
26
+ class BaseOpenTelemetryComponent extends React.Component {
27
+ component = 'react-load';
28
+ moduleName = this.component;
29
+ _parentSpanMap;
30
+ static _tracer;
31
+ static _logger = api.diag;
26
32
  /**
27
33
  * @param props Props of the React component
28
34
  */
29
35
  constructor(props) {
30
36
  super(props);
31
- this.component = 'react-load';
32
- this.moduleName = this.component;
33
37
  this._parentSpanMap = new WeakMap();
34
38
  this.patch();
35
39
  }
@@ -120,7 +124,7 @@ export class BaseOpenTelemetryComponent extends React.Component {
120
124
  try {
121
125
  state = JSON.stringify(react.state);
122
126
  }
123
- catch (_a) {
127
+ catch {
124
128
  state = '{"message": "state could not be turned into string"}';
125
129
  }
126
130
  return {
@@ -366,5 +370,5 @@ export class BaseOpenTelemetryComponent extends React.Component {
366
370
  this._parentSpanMap = new WeakMap();
367
371
  }
368
372
  }
369
- BaseOpenTelemetryComponent._logger = api.diag;
373
+ export { BaseOpenTelemetryComponent };
370
374
  //# sourceMappingURL=BaseOpenTelemetryComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseOpenTelemetryComponent.js","sourceRoot":"","sources":["../../src/BaseOpenTelemetryComponent.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as api from '@opentelemetry/api';\nimport { isWrapped } from '@opentelemetry/core';\nimport * as shimmer from 'shimmer';\nimport { AttributeNames } from './enums/AttributeNames';\nimport * as React from 'react';\nimport { PACKAGE_VERSION } from './version';\nimport {\n RenderFunction,\n ComponentDidMountFunction,\n ComponentDidUpdateFunction,\n ShouldComponentUpdateFunction,\n SetStateFunction,\n ForceUpdateFunction,\n GetSnapshotBeforeUpdateFunction,\n ComponentWillUnmountFunction,\n} from './internal-types';\n\n/**\n * This class is the base component for a React component with lifecycle instrumentation\n */\nexport class BaseOpenTelemetryComponent extends React.Component {\n readonly component: string = 'react-load';\n moduleName = this.component;\n private _parentSpanMap: WeakMap<React.Component, api.Span>;\n private static _tracer: api.Tracer;\n private static _logger: api.DiagLogger = api.diag;\n\n /**\n * @param props Props of the React component\n */\n constructor(props: Readonly<any>) {\n super(props);\n this._parentSpanMap = new WeakMap<React.Component, api.Span>();\n this.patch();\n }\n\n /**\n * Sets the tracer for all components being instrumented\n * @param name Name of tracer\n * @param version Version of tracer, this is optional. When not provided it will use the latest.\n */\n static setTracer(name: string, version?: string): void {\n BaseOpenTelemetryComponent._tracer = api.trace.getTracer(\n name,\n version ? version : PACKAGE_VERSION\n );\n }\n\n /**\n * Sets the logger for all components being instrumented\n * @param logger\n */\n static setLogger(logger: api.DiagLogger): void {\n api.diag.setLogger(logger);\n BaseOpenTelemetryComponent._logger = logger;\n }\n\n /**\n * Creates a new span as a child of the current parent span.\n * If parent span is undefined, just the child is created.\n * @param react React component currently being instrumented\n * @param name Name of span\n * @param parentSpan parent span\n */\n private _createSpanWithParent(\n react: React.Component,\n name: string,\n parentSpan: api.Span\n ): api.Span {\n return BaseOpenTelemetryComponent._tracer.startSpan(\n name,\n {\n attributes: this._getAttributes(react),\n },\n parentSpan\n ? api.trace.setSpan(api.context.active(), parentSpan)\n : undefined\n );\n }\n\n /**\n * Creates a new span\n * @param react React component currently being instrumented\n * @param name Name of span\n */\n private _createSpan(react: React.Component, name: string): api.Span {\n return BaseOpenTelemetryComponent._tracer.startSpan(name, {\n attributes: this._getAttributes(react),\n });\n }\n\n /**\n * Provides instrumentation for a function\n * @param react React component currently instrumenting.\n * @param spanName Name to set the span of the instrumented function to.\n * @param original Original function currently being wrapped.\n * @parentName Name to set parent span to on error.\n */\n private _instrumentFunction(\n react: React.Component,\n spanName: string,\n parent: api.Span,\n original: any\n ) {\n const span = this._createSpanWithParent(react, spanName, parent);\n let wasError = false;\n try {\n return api.context.with(\n api.trace.setSpan(api.context.active(), span),\n () => {\n return original();\n }\n );\n } catch (err: any) {\n span.setAttribute(AttributeNames.REACT_ERROR, err.stack);\n wasError = true;\n throw err;\n } finally {\n span.end();\n if (wasError) {\n this._endParentSpan(react);\n }\n }\n }\n\n /**\n * Ends the current parent span.\n * @param react React component parent span belongs to.\n */\n private _endParentSpan(react: React.Component) {\n const parentSpan = this._parentSpanMap.get(react);\n if (parentSpan) {\n parentSpan.end();\n this._parentSpanMap.delete(react);\n }\n }\n\n /**\n * Returns attributes object for spans\n * @param react React component currently being instrumented\n **/\n private _getAttributes(react: React.Component) {\n let state: string;\n try {\n state = JSON.stringify(react.state);\n } catch {\n state = '{\"message\": \"state could not be turned into string\"}';\n }\n return {\n [AttributeNames.LOCATION_URL]: window.location.href,\n [AttributeNames.REACT_NAME]: react.constructor.name,\n [AttributeNames.REACT_STATE]: state,\n };\n }\n\n /**\n * This function returns a parent span. If the parent doesn't\n * exist, the function creates one\n * @param react React component parent span belongs to.\n */\n private _getParentSpan(react: React.Component, parentName: string): api.Span {\n const parentSpan: api.Span | undefined = this._parentSpanMap.get(react);\n if (!parentSpan) {\n const span = this._createSpan(react, parentName);\n this._parentSpanMap.set(react, span);\n }\n return this._parentSpanMap.get(react)!;\n }\n\n /**\n * Patches the render lifecycle method\n */\n private _patchRender() {\n return (original: RenderFunction): RenderFunction => {\n const plugin = this;\n return function patchRender(\n this: React.Component,\n ...args\n ): React.ReactNode {\n // Render is the first method in the mounting flow, if a parent span wasn't created already then we're in the mounting flow\n let parentSpan: api.Span;\n if (!plugin._parentSpanMap.get(this)) {\n parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.MOUNTING_SPAN\n );\n } else {\n parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n }\n\n return plugin._instrumentFunction(this, 'render', parentSpan, () => {\n return original!.apply(this, args);\n });\n };\n };\n }\n\n /**\n * Patches the componentDidMount lifecycle method\n */\n private _patchComponentDidMount() {\n return (original: ComponentDidMountFunction): ComponentDidMountFunction => {\n const plugin = this;\n\n return function patchComponentDidMount(\n this: React.Component,\n ...args\n ): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.MOUNTING_SPAN\n );\n const apply = plugin._instrumentFunction(\n this,\n 'componentDidMount',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n plugin._endParentSpan(this);\n return apply;\n };\n };\n }\n\n /**\n * Patches the setState function\n */\n private _patchSetState() {\n return (original: SetStateFunction): SetStateFunction => {\n const plugin = this;\n return function patchSetState(this: React.Component, ...args): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n return plugin._instrumentFunction(\n this,\n 'setState()',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n };\n };\n }\n\n /**\n * Patches the forceUpdate function\n */\n private _patchForceUpdate() {\n return (original: ForceUpdateFunction): ForceUpdateFunction => {\n const plugin = this;\n return function patchForceUpdate(this: React.Component, ...args): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n return plugin._instrumentFunction(\n this,\n 'forceUpdate()',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n };\n };\n }\n\n /**\n * Patches the shouldComponentUpdate lifecycle method\n */\n private _patchShouldComponentUpdate() {\n return (\n original: ShouldComponentUpdateFunction\n ): ShouldComponentUpdateFunction => {\n const plugin = this;\n\n return function patchShouldComponentUpdate(\n this: React.Component,\n ...args\n ): boolean {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n const apply = plugin._instrumentFunction(\n this,\n 'shouldComponentUpdate',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n // if shouldComponentUpdate returns false, the component does not get\n // updated and no other lifecycle methods get called\n if (!apply) {\n plugin._endParentSpan(this);\n }\n\n return apply;\n };\n };\n }\n\n /**\n * Patches the shouldComponentUpdate lifecycle method\n */\n private _patchGetSnapshotBeforeUpdate() {\n return (\n original: GetSnapshotBeforeUpdateFunction\n ): GetSnapshotBeforeUpdateFunction => {\n const plugin = this;\n\n return function patchGetSnapshotBeforeUpdate(\n this: React.Component,\n ...args\n ): any {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n return plugin._instrumentFunction(\n this,\n 'getSnapshotBeforeUpdate',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n };\n };\n }\n\n /**\n * Patches the componentDidUpdate lifecycle method\n */\n private _patchComponentDidUpdate() {\n return (\n original: ComponentDidUpdateFunction\n ): ComponentDidUpdateFunction => {\n const plugin = this;\n\n return function patchComponentDidUpdate(\n this: React.Component,\n ...args\n ): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n const apply = plugin._instrumentFunction(\n this,\n 'componentDidUpdate',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n plugin._endParentSpan(this);\n return apply;\n };\n };\n }\n\n /**\n * Patches the componentWillUnmount lifecycle method\n */\n private _patchComponentWillUnmount() {\n return (\n original: ComponentWillUnmountFunction\n ): ComponentWillUnmountFunction => {\n const plugin = this;\n\n return function patchComponentWillUnmount(\n this: React.Component,\n ...args\n ): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UNMOUNTING_SPAN\n );\n const apply = plugin._instrumentFunction(\n this,\n 'componentWillUnmount',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n plugin._endParentSpan(this);\n return apply;\n };\n };\n }\n\n /**\n * patch function which wraps all the lifecycle methods\n */\n public patch(): void {\n BaseOpenTelemetryComponent._logger.debug(\n 'applying patch to',\n this.moduleName,\n PACKAGE_VERSION\n );\n\n if (isWrapped(this.render)) {\n shimmer.unwrap(this, 'render');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method render'\n );\n }\n if (isWrapped(this.componentDidMount)) {\n shimmer.unwrap(this, 'componentDidMount');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method componentDidMount'\n );\n }\n if (isWrapped(this.shouldComponentUpdate)) {\n shimmer.unwrap(this, 'shouldComponentUpdate');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method shouldComponentUpdate'\n );\n }\n if (isWrapped(this.getSnapshotBeforeUpdate)) {\n shimmer.unwrap(this, 'getSnapshotBeforeUpdate');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method getSnapshotBeforeUpdate'\n );\n }\n if (isWrapped(this.setState)) {\n shimmer.unwrap(this, 'setState');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method setState'\n );\n }\n if (isWrapped(this.forceUpdate)) {\n shimmer.unwrap(this, 'forceUpdate');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method forceUpdate'\n );\n }\n if (isWrapped(this.componentDidUpdate)) {\n shimmer.unwrap(this, 'componentDidUpdate');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method componentDidUpdate'\n );\n }\n if (isWrapped(this.componentWillUnmount)) {\n shimmer.unwrap(this, 'componentWillUnmount');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method componentWillUnmount'\n );\n }\n\n // Lifecycle methods must exist when patching, even if not defined in component\n if (!this.render) {\n this.render = () => {\n return null;\n };\n }\n if (!this.componentDidMount) {\n this.componentDidMount = () => {\n return;\n };\n }\n if (!this.shouldComponentUpdate) {\n this.shouldComponentUpdate = () => {\n return true;\n };\n }\n if (!this.getSnapshotBeforeUpdate) {\n this.getSnapshotBeforeUpdate = () => {\n return null;\n };\n }\n if (!this.componentDidUpdate) {\n this.componentDidUpdate = () => {\n return;\n };\n }\n if (!this.componentWillUnmount) {\n this.componentWillUnmount = () => {\n return;\n };\n }\n\n shimmer.wrap(this, 'render', this._patchRender());\n shimmer.wrap(this, 'componentDidMount', this._patchComponentDidMount());\n shimmer.wrap(this, 'setState', this._patchSetState());\n shimmer.wrap(this, 'forceUpdate', this._patchForceUpdate());\n shimmer.wrap(\n this,\n 'shouldComponentUpdate',\n this._patchShouldComponentUpdate()\n );\n shimmer.wrap(\n this,\n 'getSnapshotBeforeUpdate',\n this._patchGetSnapshotBeforeUpdate()\n );\n shimmer.wrap(this, 'componentDidUpdate', this._patchComponentDidUpdate());\n shimmer.wrap(\n this,\n 'componentWillUnmount',\n this._patchComponentWillUnmount()\n );\n }\n\n /**\n * unpatch function to unwrap all the lifecycle methods\n */\n public unpatch(): void {\n BaseOpenTelemetryComponent._logger.debug(\n 'removing patch from',\n this.moduleName,\n PACKAGE_VERSION\n );\n\n shimmer.unwrap(this, 'render');\n\n shimmer.unwrap(this, 'componentDidMount');\n\n shimmer.unwrap(this, 'setState');\n shimmer.unwrap(this, 'forceUpdate');\n shimmer.unwrap(this, 'shouldComponentUpdate');\n shimmer.unwrap(this, 'getSnapshotBeforeUpdate');\n shimmer.unwrap(this, 'componentDidUpdate');\n\n shimmer.unwrap(this, 'componentWillUnmount');\n\n this._parentSpanMap = new WeakMap<React.Component, api.Span>();\n }\n}\n"]}
1
+ {"version":3,"file":"BaseOpenTelemetryComponent.js","sourceRoot":"","sources":["../../src/BaseOpenTelemetryComponent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAY5C;;GAEG;AACH,MAAa,0BAA2B,SAAQ,KAAK,CAAC,SAAS;IACpD,SAAS,GAAW,YAAY,CAAC;IAC1C,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;IACpB,cAAc,CAAqC;IACnD,MAAM,CAAC,OAAO,CAAa;IAC3B,MAAM,CAAC,OAAO,GAAmB,GAAG,CAAC,IAAI,CAAC;IAElD;;OAEG;IACH,YAAY,KAAoB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,cAAc,GAAG,IAAI,OAAO,EAA6B,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,IAAY,EAAE,OAAgB;QAC7C,0BAA0B,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CACtD,IAAI,EACJ,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACpC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,MAAsB;QACrC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3B,0BAA0B,CAAC,OAAO,GAAG,MAAM,CAAC;IAC9C,CAAC;IAED;;;;;;OAMG;IACK,qBAAqB,CAC3B,KAAsB,EACtB,IAAY,EACZ,UAAoB;QAEpB,OAAO,0BAA0B,CAAC,OAAO,CAAC,SAAS,CACjD,IAAI,EACJ;YACE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;SACvC,EACD,UAAU;YACR,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC;YACrD,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,KAAsB,EAAE,IAAY;QACtD,OAAO,0BAA0B,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;YACxD,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,mBAAmB,CACzB,KAAsB,EACtB,QAAgB,EAChB,MAAgB,EAChB,QAAa;QAEb,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjE,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI;YACF,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CACrB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAC7C,GAAG,EAAE;gBACH,OAAO,QAAQ,EAAE,CAAC;YACpB,CAAC,CACF,CAAC;SACH;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACzD,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,GAAG,CAAC;SACX;gBAAS;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC5B;SACF;IACH,CAAC;IAED;;;OAGG;IACK,cAAc,CAAC,KAAsB;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACnC;IACH,CAAC;IAED;;;QAGI;IACI,cAAc,CAAC,KAAsB;QAC3C,IAAI,KAAa,CAAC;QAClB,IAAI;YACF,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACrC;QAAC,MAAM;YACN,KAAK,GAAG,sDAAsD,CAAC;SAChE;QACD,OAAO;YACL,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;YACnD,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI;YACnD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,KAAK;SACpC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,KAAsB,EAAE,UAAkB;QAC/D,MAAM,UAAU,GAAyB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,OAAO,CAAC,QAAwB,EAAkB,EAAE;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC;YACpB,OAAO,SAAS,WAAW,CAEzB,GAAG,IAAI;gBAEP,2HAA2H;gBAC3H,IAAI,UAAoB,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACpC,UAAU,GAAG,MAAM,CAAC,cAAc,CAChC,IAAI,EACJ,cAAc,CAAC,aAAa,CAC7B,CAAC;iBACH;qBAAM;oBACL,UAAU,GAAG,MAAM,CAAC,cAAc,CAChC,IAAI,EACJ,cAAc,CAAC,aAAa,CAC7B,CAAC;iBACH;gBAED,OAAO,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE;oBACjE,OAAO,QAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,uBAAuB;QAC7B,OAAO,CAAC,QAAmC,EAA6B,EAAE;YACxE,MAAM,MAAM,GAAG,IAAI,CAAC;YAEpB,OAAO,SAAS,sBAAsB,CAEpC,GAAG,IAAI;gBAEP,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CACtC,IAAI,EACJ,cAAc,CAAC,aAAa,CAC7B,CAAC;gBACF,MAAM,KAAK,GAAG,MAAM,CAAC,mBAAmB,CACtC,IAAI,EACJ,mBAAmB,EACnB,UAAU,EACV,GAAG,EAAE;oBACH,OAAO,QAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrC,CAAC,CACF,CAAC;gBACF,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC5B,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,OAAO,CAAC,QAA0B,EAAoB,EAAE;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC;YACpB,OAAO,SAAS,aAAa,CAAwB,GAAG,IAAI;gBAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CACtC,IAAI,EACJ,cAAc,CAAC,aAAa,CAC7B,CAAC;gBACF,OAAO,MAAM,CAAC,mBAAmB,CAC/B,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,GAAG,EAAE;oBACH,OAAO,QAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrC,CAAC,CACF,CAAC;YACJ,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,OAAO,CAAC,QAA6B,EAAuB,EAAE;YAC5D,MAAM,MAAM,GAAG,IAAI,CAAC;YACpB,OAAO,SAAS,gBAAgB,CAAwB,GAAG,IAAI;gBAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CACtC,IAAI,EACJ,cAAc,CAAC,aAAa,CAC7B,CAAC;gBACF,OAAO,MAAM,CAAC,mBAAmB,CAC/B,IAAI,EACJ,eAAe,EACf,UAAU,EACV,GAAG,EAAE;oBACH,OAAO,QAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrC,CAAC,CACF,CAAC;YACJ,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,2BAA2B;QACjC,OAAO,CACL,QAAuC,EACR,EAAE;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC;YAEpB,OAAO,SAAS,0BAA0B,CAExC,GAAG,IAAI;gBAEP,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CACtC,IAAI,EACJ,cAAc,CAAC,aAAa,CAC7B,CAAC;gBACF,MAAM,KAAK,GAAG,MAAM,CAAC,mBAAmB,CACtC,IAAI,EACJ,uBAAuB,EACvB,UAAU,EACV,GAAG,EAAE;oBACH,OAAO,QAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrC,CAAC,CACF,CAAC;gBACF,qEAAqE;gBACrE,oDAAoD;gBACpD,IAAI,CAAC,KAAK,EAAE;oBACV,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;iBAC7B;gBAED,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,6BAA6B;QACnC,OAAO,CACL,QAAyC,EACR,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC;YAEpB,OAAO,SAAS,4BAA4B,CAE1C,GAAG,IAAI;gBAEP,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CACtC,IAAI,EACJ,cAAc,CAAC,aAAa,CAC7B,CAAC;gBACF,OAAO,MAAM,CAAC,mBAAmB,CAC/B,IAAI,EACJ,yBAAyB,EACzB,UAAU,EACV,GAAG,EAAE;oBACH,OAAO,QAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrC,CAAC,CACF,CAAC;YACJ,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,wBAAwB;QAC9B,OAAO,CACL,QAAoC,EACR,EAAE;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC;YAEpB,OAAO,SAAS,uBAAuB,CAErC,GAAG,IAAI;gBAEP,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CACtC,IAAI,EACJ,cAAc,CAAC,aAAa,CAC7B,CAAC;gBACF,MAAM,KAAK,GAAG,MAAM,CAAC,mBAAmB,CACtC,IAAI,EACJ,oBAAoB,EACpB,UAAU,EACV,GAAG,EAAE;oBACH,OAAO,QAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrC,CAAC,CACF,CAAC;gBACF,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC5B,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,0BAA0B;QAChC,OAAO,CACL,QAAsC,EACR,EAAE;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC;YAEpB,OAAO,SAAS,yBAAyB,CAEvC,GAAG,IAAI;gBAEP,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CACtC,IAAI,EACJ,cAAc,CAAC,eAAe,CAC/B,CAAC;gBACF,MAAM,KAAK,GAAG,MAAM,CAAC,mBAAmB,CACtC,IAAI,EACJ,sBAAsB,EACtB,UAAU,EACV,GAAG,EAAE;oBACH,OAAO,QAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrC,CAAC,CACF,CAAC;gBACF,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC5B,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK;QACV,0BAA0B,CAAC,OAAO,CAAC,KAAK,CACtC,mBAAmB,EACnB,IAAI,CAAC,UAAU,EACf,eAAe,CAChB,CAAC;QAEF,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/B,0BAA0B,CAAC,OAAO,CAAC,IAAI,CACrC,4CAA4C,CAC7C,CAAC;SACH;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACrC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;YAC1C,0BAA0B,CAAC,OAAO,CAAC,IAAI,CACrC,uDAAuD,CACxD,CAAC;SACH;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE;YACzC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;YAC9C,0BAA0B,CAAC,OAAO,CAAC,IAAI,CACrC,2DAA2D,CAC5D,CAAC;SACH;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE;YAC3C,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;YAChD,0BAA0B,CAAC,OAAO,CAAC,IAAI,CACrC,6DAA6D,CAC9D,CAAC;SACH;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACjC,0BAA0B,CAAC,OAAO,CAAC,IAAI,CACrC,8CAA8C,CAC/C,CAAC;SACH;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAC/B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACpC,0BAA0B,CAAC,OAAO,CAAC,IAAI,CACrC,iDAAiD,CAClD,CAAC;SACH;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACtC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YAC3C,0BAA0B,CAAC,OAAO,CAAC,IAAI,CACrC,wDAAwD,CACzD,CAAC;SACH;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE;YACxC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;YAC7C,0BAA0B,CAAC,OAAO,CAAC,IAAI,CACrC,0DAA0D,CAC3D,CAAC;SACH;QAED,+EAA+E;QAC/E,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE;gBACjB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;SACH;QACD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,iBAAiB,GAAG,GAAG,EAAE;gBAC5B,OAAO;YACT,CAAC,CAAC;SACH;QACD,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC/B,IAAI,CAAC,qBAAqB,GAAG,GAAG,EAAE;gBAChC,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;SACH;QACD,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACjC,IAAI,CAAC,uBAAuB,GAAG,GAAG,EAAE;gBAClC,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;SACH;QACD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,kBAAkB,GAAG,GAAG,EAAE;gBAC7B,OAAO;YACT,CAAC,CAAC;SACH;QACD,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,IAAI,CAAC,oBAAoB,GAAG,GAAG,EAAE;gBAC/B,OAAO;YACT,CAAC,CAAC;SACH;QAED,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CACV,IAAI,EACJ,uBAAuB,EACvB,IAAI,CAAC,2BAA2B,EAAE,CACnC,CAAC;QACF,OAAO,CAAC,IAAI,CACV,IAAI,EACJ,yBAAyB,EACzB,IAAI,CAAC,6BAA6B,EAAE,CACrC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,EAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CACV,IAAI,EACJ,sBAAsB,EACtB,IAAI,CAAC,0BAA0B,EAAE,CAClC,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,0BAA0B,CAAC,OAAO,CAAC,KAAK,CACtC,qBAAqB,EACrB,IAAI,CAAC,UAAU,EACf,eAAe,CAChB,CAAC;QAEF,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE/B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAE1C,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACpC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QAC9C,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAE3C,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QAE7C,IAAI,CAAC,cAAc,GAAG,IAAI,OAAO,EAA6B,CAAC;IACjE,CAAC;;SAtgBU,0BAA0B","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as api from '@opentelemetry/api';\nimport { isWrapped } from '@opentelemetry/instrumentation';\nimport * as shimmer from 'shimmer';\nimport { AttributeNames } from './enums/AttributeNames';\nimport * as React from 'react';\n/** @knipignore */\nimport { PACKAGE_VERSION } from './version';\nimport {\n RenderFunction,\n ComponentDidMountFunction,\n ComponentDidUpdateFunction,\n ShouldComponentUpdateFunction,\n SetStateFunction,\n ForceUpdateFunction,\n GetSnapshotBeforeUpdateFunction,\n ComponentWillUnmountFunction,\n} from './internal-types';\n\n/**\n * This class is the base component for a React component with lifecycle instrumentation\n */\nexport class BaseOpenTelemetryComponent extends React.Component {\n readonly component: string = 'react-load';\n moduleName = this.component;\n private _parentSpanMap: WeakMap<React.Component, api.Span>;\n private static _tracer: api.Tracer;\n private static _logger: api.DiagLogger = api.diag;\n\n /**\n * @param props Props of the React component\n */\n constructor(props: Readonly<any>) {\n super(props);\n this._parentSpanMap = new WeakMap<React.Component, api.Span>();\n this.patch();\n }\n\n /**\n * Sets the tracer for all components being instrumented\n * @param name Name of tracer\n * @param version Version of tracer, this is optional. When not provided it will use the latest.\n */\n static setTracer(name: string, version?: string): void {\n BaseOpenTelemetryComponent._tracer = api.trace.getTracer(\n name,\n version ? version : PACKAGE_VERSION\n );\n }\n\n /**\n * Sets the logger for all components being instrumented\n * @param logger\n */\n static setLogger(logger: api.DiagLogger): void {\n api.diag.setLogger(logger);\n BaseOpenTelemetryComponent._logger = logger;\n }\n\n /**\n * Creates a new span as a child of the current parent span.\n * If parent span is undefined, just the child is created.\n * @param react React component currently being instrumented\n * @param name Name of span\n * @param parentSpan parent span\n */\n private _createSpanWithParent(\n react: React.Component,\n name: string,\n parentSpan: api.Span\n ): api.Span {\n return BaseOpenTelemetryComponent._tracer.startSpan(\n name,\n {\n attributes: this._getAttributes(react),\n },\n parentSpan\n ? api.trace.setSpan(api.context.active(), parentSpan)\n : undefined\n );\n }\n\n /**\n * Creates a new span\n * @param react React component currently being instrumented\n * @param name Name of span\n */\n private _createSpan(react: React.Component, name: string): api.Span {\n return BaseOpenTelemetryComponent._tracer.startSpan(name, {\n attributes: this._getAttributes(react),\n });\n }\n\n /**\n * Provides instrumentation for a function\n * @param react React component currently instrumenting.\n * @param spanName Name to set the span of the instrumented function to.\n * @param original Original function currently being wrapped.\n * @parentName Name to set parent span to on error.\n */\n private _instrumentFunction(\n react: React.Component,\n spanName: string,\n parent: api.Span,\n original: any\n ) {\n const span = this._createSpanWithParent(react, spanName, parent);\n let wasError = false;\n try {\n return api.context.with(\n api.trace.setSpan(api.context.active(), span),\n () => {\n return original();\n }\n );\n } catch (err: any) {\n span.setAttribute(AttributeNames.REACT_ERROR, err.stack);\n wasError = true;\n throw err;\n } finally {\n span.end();\n if (wasError) {\n this._endParentSpan(react);\n }\n }\n }\n\n /**\n * Ends the current parent span.\n * @param react React component parent span belongs to.\n */\n private _endParentSpan(react: React.Component) {\n const parentSpan = this._parentSpanMap.get(react);\n if (parentSpan) {\n parentSpan.end();\n this._parentSpanMap.delete(react);\n }\n }\n\n /**\n * Returns attributes object for spans\n * @param react React component currently being instrumented\n **/\n private _getAttributes(react: React.Component) {\n let state: string;\n try {\n state = JSON.stringify(react.state);\n } catch {\n state = '{\"message\": \"state could not be turned into string\"}';\n }\n return {\n [AttributeNames.LOCATION_URL]: window.location.href,\n [AttributeNames.REACT_NAME]: react.constructor.name,\n [AttributeNames.REACT_STATE]: state,\n };\n }\n\n /**\n * This function returns a parent span. If the parent doesn't\n * exist, the function creates one\n * @param react React component parent span belongs to.\n */\n private _getParentSpan(react: React.Component, parentName: string): api.Span {\n const parentSpan: api.Span | undefined = this._parentSpanMap.get(react);\n if (!parentSpan) {\n const span = this._createSpan(react, parentName);\n this._parentSpanMap.set(react, span);\n }\n return this._parentSpanMap.get(react)!;\n }\n\n /**\n * Patches the render lifecycle method\n */\n private _patchRender() {\n return (original: RenderFunction): RenderFunction => {\n const plugin = this;\n return function patchRender(\n this: React.Component,\n ...args\n ): React.ReactNode {\n // Render is the first method in the mounting flow, if a parent span wasn't created already then we're in the mounting flow\n let parentSpan: api.Span;\n if (!plugin._parentSpanMap.get(this)) {\n parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.MOUNTING_SPAN\n );\n } else {\n parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n }\n\n return plugin._instrumentFunction(this, 'render', parentSpan, () => {\n return original!.apply(this, args);\n });\n };\n };\n }\n\n /**\n * Patches the componentDidMount lifecycle method\n */\n private _patchComponentDidMount() {\n return (original: ComponentDidMountFunction): ComponentDidMountFunction => {\n const plugin = this;\n\n return function patchComponentDidMount(\n this: React.Component,\n ...args\n ): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.MOUNTING_SPAN\n );\n const apply = plugin._instrumentFunction(\n this,\n 'componentDidMount',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n plugin._endParentSpan(this);\n return apply;\n };\n };\n }\n\n /**\n * Patches the setState function\n */\n private _patchSetState() {\n return (original: SetStateFunction): SetStateFunction => {\n const plugin = this;\n return function patchSetState(this: React.Component, ...args): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n return plugin._instrumentFunction(\n this,\n 'setState()',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n };\n };\n }\n\n /**\n * Patches the forceUpdate function\n */\n private _patchForceUpdate() {\n return (original: ForceUpdateFunction): ForceUpdateFunction => {\n const plugin = this;\n return function patchForceUpdate(this: React.Component, ...args): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n return plugin._instrumentFunction(\n this,\n 'forceUpdate()',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n };\n };\n }\n\n /**\n * Patches the shouldComponentUpdate lifecycle method\n */\n private _patchShouldComponentUpdate() {\n return (\n original: ShouldComponentUpdateFunction\n ): ShouldComponentUpdateFunction => {\n const plugin = this;\n\n return function patchShouldComponentUpdate(\n this: React.Component,\n ...args\n ): boolean {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n const apply = plugin._instrumentFunction(\n this,\n 'shouldComponentUpdate',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n // if shouldComponentUpdate returns false, the component does not get\n // updated and no other lifecycle methods get called\n if (!apply) {\n plugin._endParentSpan(this);\n }\n\n return apply;\n };\n };\n }\n\n /**\n * Patches the shouldComponentUpdate lifecycle method\n */\n private _patchGetSnapshotBeforeUpdate() {\n return (\n original: GetSnapshotBeforeUpdateFunction\n ): GetSnapshotBeforeUpdateFunction => {\n const plugin = this;\n\n return function patchGetSnapshotBeforeUpdate(\n this: React.Component,\n ...args\n ): any {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n return plugin._instrumentFunction(\n this,\n 'getSnapshotBeforeUpdate',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n };\n };\n }\n\n /**\n * Patches the componentDidUpdate lifecycle method\n */\n private _patchComponentDidUpdate() {\n return (\n original: ComponentDidUpdateFunction\n ): ComponentDidUpdateFunction => {\n const plugin = this;\n\n return function patchComponentDidUpdate(\n this: React.Component,\n ...args\n ): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n const apply = plugin._instrumentFunction(\n this,\n 'componentDidUpdate',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n plugin._endParentSpan(this);\n return apply;\n };\n };\n }\n\n /**\n * Patches the componentWillUnmount lifecycle method\n */\n private _patchComponentWillUnmount() {\n return (\n original: ComponentWillUnmountFunction\n ): ComponentWillUnmountFunction => {\n const plugin = this;\n\n return function patchComponentWillUnmount(\n this: React.Component,\n ...args\n ): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UNMOUNTING_SPAN\n );\n const apply = plugin._instrumentFunction(\n this,\n 'componentWillUnmount',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n plugin._endParentSpan(this);\n return apply;\n };\n };\n }\n\n /**\n * patch function which wraps all the lifecycle methods\n */\n public patch(): void {\n BaseOpenTelemetryComponent._logger.debug(\n 'applying patch to',\n this.moduleName,\n PACKAGE_VERSION\n );\n\n if (isWrapped(this.render)) {\n shimmer.unwrap(this, 'render');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method render'\n );\n }\n if (isWrapped(this.componentDidMount)) {\n shimmer.unwrap(this, 'componentDidMount');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method componentDidMount'\n );\n }\n if (isWrapped(this.shouldComponentUpdate)) {\n shimmer.unwrap(this, 'shouldComponentUpdate');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method shouldComponentUpdate'\n );\n }\n if (isWrapped(this.getSnapshotBeforeUpdate)) {\n shimmer.unwrap(this, 'getSnapshotBeforeUpdate');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method getSnapshotBeforeUpdate'\n );\n }\n if (isWrapped(this.setState)) {\n shimmer.unwrap(this, 'setState');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method setState'\n );\n }\n if (isWrapped(this.forceUpdate)) {\n shimmer.unwrap(this, 'forceUpdate');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method forceUpdate'\n );\n }\n if (isWrapped(this.componentDidUpdate)) {\n shimmer.unwrap(this, 'componentDidUpdate');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method componentDidUpdate'\n );\n }\n if (isWrapped(this.componentWillUnmount)) {\n shimmer.unwrap(this, 'componentWillUnmount');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method componentWillUnmount'\n );\n }\n\n // Lifecycle methods must exist when patching, even if not defined in component\n if (!this.render) {\n this.render = () => {\n return null;\n };\n }\n if (!this.componentDidMount) {\n this.componentDidMount = () => {\n return;\n };\n }\n if (!this.shouldComponentUpdate) {\n this.shouldComponentUpdate = () => {\n return true;\n };\n }\n if (!this.getSnapshotBeforeUpdate) {\n this.getSnapshotBeforeUpdate = () => {\n return null;\n };\n }\n if (!this.componentDidUpdate) {\n this.componentDidUpdate = () => {\n return;\n };\n }\n if (!this.componentWillUnmount) {\n this.componentWillUnmount = () => {\n return;\n };\n }\n\n shimmer.wrap(this, 'render', this._patchRender());\n shimmer.wrap(this, 'componentDidMount', this._patchComponentDidMount());\n shimmer.wrap(this, 'setState', this._patchSetState());\n shimmer.wrap(this, 'forceUpdate', this._patchForceUpdate());\n shimmer.wrap(\n this,\n 'shouldComponentUpdate',\n this._patchShouldComponentUpdate()\n );\n shimmer.wrap(\n this,\n 'getSnapshotBeforeUpdate',\n this._patchGetSnapshotBeforeUpdate()\n );\n shimmer.wrap(this, 'componentDidUpdate', this._patchComponentDidUpdate());\n shimmer.wrap(\n this,\n 'componentWillUnmount',\n this._patchComponentWillUnmount()\n );\n }\n\n /**\n * unpatch function to unwrap all the lifecycle methods\n */\n public unpatch(): void {\n BaseOpenTelemetryComponent._logger.debug(\n 'removing patch from',\n this.moduleName,\n PACKAGE_VERSION\n );\n\n shimmer.unwrap(this, 'render');\n\n shimmer.unwrap(this, 'componentDidMount');\n\n shimmer.unwrap(this, 'setState');\n shimmer.unwrap(this, 'forceUpdate');\n shimmer.unwrap(this, 'shouldComponentUpdate');\n shimmer.unwrap(this, 'getSnapshotBeforeUpdate');\n shimmer.unwrap(this, 'componentDidUpdate');\n\n shimmer.unwrap(this, 'componentWillUnmount');\n\n this._parentSpanMap = new WeakMap<React.Component, api.Span>();\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
- export declare type RenderFunction = () => React.ReactNode;
3
- export declare type ComponentDidMountFunction = (() => void) | undefined;
4
- export declare type ComponentDidUpdateFunction = ((prevProps: Readonly<any>, prevState: Readonly<any>, snapshot?: any) => void) | undefined;
5
- export declare type ShouldComponentUpdateFunction = ((nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any) => boolean) | undefined;
6
- export declare type SetStateFunction = <K extends never>(state: any | ((prevState: Readonly<any>, props: Readonly<any>) => any | Pick<any, K> | null) | Pick<any, K> | null, callback?: (() => void) | undefined) => void;
7
- export declare type ForceUpdateFunction = (callback?: (() => void) | undefined) => void;
8
- export declare type GetSnapshotBeforeUpdateFunction = ((prevProps: Readonly<any>, prevState: Readonly<any>) => any) | undefined;
9
- export declare type ComponentWillUnmountFunction = (() => void) | undefined;
2
+ export type RenderFunction = () => React.ReactNode;
3
+ export type ComponentDidMountFunction = (() => void) | undefined;
4
+ export type ComponentDidUpdateFunction = ((prevProps: Readonly<any>, prevState: Readonly<any>, snapshot?: any) => void) | undefined;
5
+ export type ShouldComponentUpdateFunction = ((nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any) => boolean) | undefined;
6
+ export type SetStateFunction = <K extends never>(state: any | ((prevState: Readonly<any>, props: Readonly<any>) => any | Pick<any, K> | null) | Pick<any, K> | null, callback?: (() => void) | undefined) => void;
7
+ export type ForceUpdateFunction = (callback?: (() => void) | undefined) => void;
8
+ export type GetSnapshotBeforeUpdateFunction = ((prevProps: Readonly<any>, prevState: Readonly<any>) => any) | undefined;
9
+ export type ComponentWillUnmountFunction = (() => void) | undefined;
10
10
  //# sourceMappingURL=internal-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal-types.d.ts","sourceRoot":"","sources":["../../src/internal-types.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,oBAAY,cAAc,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC;AAKnD,oBAAY,yBAAyB,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;AAKjE,oBAAY,0BAA0B,GAClC,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,QAAQ,CAAC,EAAE,GAAG,KACX,IAAI,CAAC,GACV,SAAS,CAAC;AAKd,oBAAY,6BAA6B,GACrC,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,WAAW,EAAE,GAAG,KACb,OAAO,CAAC,GACb,SAAS,CAAC;AAKd,oBAAY,gBAAgB,GAAG,CAAC,CAAC,SAAS,KAAK,EAC7C,KAAK,EACD,GAAG,GACH,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KACjB,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GACZ,IAAI,EACR,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,KAChC,IAAI,CAAC;AAKV,oBAAY,mBAAmB,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;AAKhF,oBAAY,+BAA+B,GACvC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAC7D,SAAS,CAAC;AAKd,oBAAY,4BAA4B,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"internal-types.d.ts","sourceRoot":"","sources":["../../src/internal-types.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC;AAKnD,MAAM,MAAM,yBAAyB,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;AAKjE,MAAM,MAAM,0BAA0B,GAClC,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,QAAQ,CAAC,EAAE,GAAG,KACX,IAAI,CAAC,GACV,SAAS,CAAC;AAKd,MAAM,MAAM,6BAA6B,GACrC,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,WAAW,EAAE,GAAG,KACb,OAAO,CAAC,GACb,SAAS,CAAC;AAKd,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,SAAS,KAAK,EAC7C,KAAK,EACD,GAAG,GACH,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KACjB,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GACZ,IAAI,EACR,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,KAChC,IAAI,CAAC;AAKV,MAAM,MAAM,mBAAmB,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;AAKhF,MAAM,MAAM,+BAA+B,GACvC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAC7D,SAAS,CAAC;AAKd,MAAM,MAAM,4BAA4B,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC"}
@@ -1,3 +1,3 @@
1
- export declare const PACKAGE_VERSION = "0.31.0";
1
+ export declare const PACKAGE_VERSION = "0.32.0";
2
2
  export declare const PACKAGE_NAME = "@opentelemetry/plugin-react-load";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -14,6 +14,6 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  // this is autogenerated file, see scripts/version-update.js
17
- export const PACKAGE_VERSION = '0.31.0';
17
+ export const PACKAGE_VERSION = '0.32.0';
18
18
  export const PACKAGE_NAME = '@opentelemetry/plugin-react-load';
19
19
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AACxC,MAAM,CAAC,MAAM,YAAY,GAAG,kCAAkC,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const PACKAGE_VERSION = '0.31.0';\nexport const PACKAGE_NAME = '@opentelemetry/plugin-react-load';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AACxC,MAAM,CAAC,MAAM,YAAY,GAAG,kCAAkC,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const PACKAGE_VERSION = '0.32.0';\nexport const PACKAGE_NAME = '@opentelemetry/plugin-react-load';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseOpenTelemetryComponent.d.ts","sourceRoot":"","sources":["../../src/BaseOpenTelemetryComponent.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAI1C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,KAAK,CAAC,SAAS;IAC7D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAgB;IAC1C,UAAU,SAAkB;IAC5B,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,MAAM,CAAC,OAAO,CAAa;IACnC,OAAO,CAAC,MAAM,CAAC,OAAO,CAA4B;IAElD;;OAEG;gBACS,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC;IAMhC;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAOtD;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,GAAG,IAAI;IAK9C;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAMnB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAQtB;;;QAGI;IACJ,OAAO,CAAC,cAAc;IActB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,YAAY;IA4BpB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAiCnC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IA0BrC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA4BhC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA4BlC;;OAEG;IACI,KAAK,IAAI,IAAI;IA8GpB;;OAEG;IACI,OAAO,IAAI,IAAI;CAqBvB"}
1
+ {"version":3,"file":"BaseOpenTelemetryComponent.d.ts","sourceRoot":"","sources":["../../src/BaseOpenTelemetryComponent.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAI1C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,KAAK,CAAC,SAAS;IAC7D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAgB;IAC1C,UAAU,SAAkB;IAC5B,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,MAAM,CAAC,OAAO,CAAa;IACnC,OAAO,CAAC,MAAM,CAAC,OAAO,CAA4B;IAElD;;OAEG;gBACS,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC;IAMhC;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAOtD;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,GAAG,IAAI;IAK9C;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAMnB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAQtB;;;QAGI;IACJ,OAAO,CAAC,cAAc;IActB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,YAAY;IA4BpB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAiCnC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IA0BrC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA4BhC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA4BlC;;OAEG;IACI,KAAK,IAAI,IAAI;IA8GpB;;OAEG;IACI,OAAO,IAAI,IAAI;CAqBvB"}
@@ -17,22 +17,26 @@
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.BaseOpenTelemetryComponent = void 0;
19
19
  const api = require("@opentelemetry/api");
20
- const core_1 = require("@opentelemetry/core");
20
+ const instrumentation_1 = require("@opentelemetry/instrumentation");
21
21
  const shimmer = require("shimmer");
22
22
  const AttributeNames_1 = require("./enums/AttributeNames");
23
23
  const React = require("react");
24
+ /** @knipignore */
24
25
  const version_1 = require("./version");
25
26
  /**
26
27
  * This class is the base component for a React component with lifecycle instrumentation
27
28
  */
28
29
  class BaseOpenTelemetryComponent extends React.Component {
30
+ component = 'react-load';
31
+ moduleName = this.component;
32
+ _parentSpanMap;
33
+ static _tracer;
34
+ static _logger = api.diag;
29
35
  /**
30
36
  * @param props Props of the React component
31
37
  */
32
38
  constructor(props) {
33
39
  super(props);
34
- this.component = 'react-load';
35
- this.moduleName = this.component;
36
40
  this._parentSpanMap = new WeakMap();
37
41
  this.patch();
38
42
  }
@@ -123,7 +127,7 @@ class BaseOpenTelemetryComponent extends React.Component {
123
127
  try {
124
128
  state = JSON.stringify(react.state);
125
129
  }
126
- catch (_a) {
130
+ catch {
127
131
  state = '{"message": "state could not be turned into string"}';
128
132
  }
129
133
  return {
@@ -281,35 +285,35 @@ class BaseOpenTelemetryComponent extends React.Component {
281
285
  */
282
286
  patch() {
283
287
  BaseOpenTelemetryComponent._logger.debug('applying patch to', this.moduleName, version_1.PACKAGE_VERSION);
284
- if ((0, core_1.isWrapped)(this.render)) {
288
+ if ((0, instrumentation_1.isWrapped)(this.render)) {
285
289
  shimmer.unwrap(this, 'render');
286
290
  BaseOpenTelemetryComponent._logger.warn('removing previous patch from method render');
287
291
  }
288
- if ((0, core_1.isWrapped)(this.componentDidMount)) {
292
+ if ((0, instrumentation_1.isWrapped)(this.componentDidMount)) {
289
293
  shimmer.unwrap(this, 'componentDidMount');
290
294
  BaseOpenTelemetryComponent._logger.warn('removing previous patch from method componentDidMount');
291
295
  }
292
- if ((0, core_1.isWrapped)(this.shouldComponentUpdate)) {
296
+ if ((0, instrumentation_1.isWrapped)(this.shouldComponentUpdate)) {
293
297
  shimmer.unwrap(this, 'shouldComponentUpdate');
294
298
  BaseOpenTelemetryComponent._logger.warn('removing previous patch from method shouldComponentUpdate');
295
299
  }
296
- if ((0, core_1.isWrapped)(this.getSnapshotBeforeUpdate)) {
300
+ if ((0, instrumentation_1.isWrapped)(this.getSnapshotBeforeUpdate)) {
297
301
  shimmer.unwrap(this, 'getSnapshotBeforeUpdate');
298
302
  BaseOpenTelemetryComponent._logger.warn('removing previous patch from method getSnapshotBeforeUpdate');
299
303
  }
300
- if ((0, core_1.isWrapped)(this.setState)) {
304
+ if ((0, instrumentation_1.isWrapped)(this.setState)) {
301
305
  shimmer.unwrap(this, 'setState');
302
306
  BaseOpenTelemetryComponent._logger.warn('removing previous patch from method setState');
303
307
  }
304
- if ((0, core_1.isWrapped)(this.forceUpdate)) {
308
+ if ((0, instrumentation_1.isWrapped)(this.forceUpdate)) {
305
309
  shimmer.unwrap(this, 'forceUpdate');
306
310
  BaseOpenTelemetryComponent._logger.warn('removing previous patch from method forceUpdate');
307
311
  }
308
- if ((0, core_1.isWrapped)(this.componentDidUpdate)) {
312
+ if ((0, instrumentation_1.isWrapped)(this.componentDidUpdate)) {
309
313
  shimmer.unwrap(this, 'componentDidUpdate');
310
314
  BaseOpenTelemetryComponent._logger.warn('removing previous patch from method componentDidUpdate');
311
315
  }
312
- if ((0, core_1.isWrapped)(this.componentWillUnmount)) {
316
+ if ((0, instrumentation_1.isWrapped)(this.componentWillUnmount)) {
313
317
  shimmer.unwrap(this, 'componentWillUnmount');
314
318
  BaseOpenTelemetryComponent._logger.warn('removing previous patch from method componentWillUnmount');
315
319
  }
@@ -370,5 +374,4 @@ class BaseOpenTelemetryComponent extends React.Component {
370
374
  }
371
375
  }
372
376
  exports.BaseOpenTelemetryComponent = BaseOpenTelemetryComponent;
373
- BaseOpenTelemetryComponent._logger = api.diag;
374
377
  //# sourceMappingURL=BaseOpenTelemetryComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseOpenTelemetryComponent.js","sourceRoot":"","sources":["../../src/BaseOpenTelemetryComponent.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as api from '@opentelemetry/api';\nimport { isWrapped } from '@opentelemetry/core';\nimport * as shimmer from 'shimmer';\nimport { AttributeNames } from './enums/AttributeNames';\nimport * as React from 'react';\nimport { PACKAGE_VERSION } from './version';\nimport {\n RenderFunction,\n ComponentDidMountFunction,\n ComponentDidUpdateFunction,\n ShouldComponentUpdateFunction,\n SetStateFunction,\n ForceUpdateFunction,\n GetSnapshotBeforeUpdateFunction,\n ComponentWillUnmountFunction,\n} from './internal-types';\n\n/**\n * This class is the base component for a React component with lifecycle instrumentation\n */\nexport class BaseOpenTelemetryComponent extends React.Component {\n readonly component: string = 'react-load';\n moduleName = this.component;\n private _parentSpanMap: WeakMap<React.Component, api.Span>;\n private static _tracer: api.Tracer;\n private static _logger: api.DiagLogger = api.diag;\n\n /**\n * @param props Props of the React component\n */\n constructor(props: Readonly<any>) {\n super(props);\n this._parentSpanMap = new WeakMap<React.Component, api.Span>();\n this.patch();\n }\n\n /**\n * Sets the tracer for all components being instrumented\n * @param name Name of tracer\n * @param version Version of tracer, this is optional. When not provided it will use the latest.\n */\n static setTracer(name: string, version?: string): void {\n BaseOpenTelemetryComponent._tracer = api.trace.getTracer(\n name,\n version ? version : PACKAGE_VERSION\n );\n }\n\n /**\n * Sets the logger for all components being instrumented\n * @param logger\n */\n static setLogger(logger: api.DiagLogger): void {\n api.diag.setLogger(logger);\n BaseOpenTelemetryComponent._logger = logger;\n }\n\n /**\n * Creates a new span as a child of the current parent span.\n * If parent span is undefined, just the child is created.\n * @param react React component currently being instrumented\n * @param name Name of span\n * @param parentSpan parent span\n */\n private _createSpanWithParent(\n react: React.Component,\n name: string,\n parentSpan: api.Span\n ): api.Span {\n return BaseOpenTelemetryComponent._tracer.startSpan(\n name,\n {\n attributes: this._getAttributes(react),\n },\n parentSpan\n ? api.trace.setSpan(api.context.active(), parentSpan)\n : undefined\n );\n }\n\n /**\n * Creates a new span\n * @param react React component currently being instrumented\n * @param name Name of span\n */\n private _createSpan(react: React.Component, name: string): api.Span {\n return BaseOpenTelemetryComponent._tracer.startSpan(name, {\n attributes: this._getAttributes(react),\n });\n }\n\n /**\n * Provides instrumentation for a function\n * @param react React component currently instrumenting.\n * @param spanName Name to set the span of the instrumented function to.\n * @param original Original function currently being wrapped.\n * @parentName Name to set parent span to on error.\n */\n private _instrumentFunction(\n react: React.Component,\n spanName: string,\n parent: api.Span,\n original: any\n ) {\n const span = this._createSpanWithParent(react, spanName, parent);\n let wasError = false;\n try {\n return api.context.with(\n api.trace.setSpan(api.context.active(), span),\n () => {\n return original();\n }\n );\n } catch (err: any) {\n span.setAttribute(AttributeNames.REACT_ERROR, err.stack);\n wasError = true;\n throw err;\n } finally {\n span.end();\n if (wasError) {\n this._endParentSpan(react);\n }\n }\n }\n\n /**\n * Ends the current parent span.\n * @param react React component parent span belongs to.\n */\n private _endParentSpan(react: React.Component) {\n const parentSpan = this._parentSpanMap.get(react);\n if (parentSpan) {\n parentSpan.end();\n this._parentSpanMap.delete(react);\n }\n }\n\n /**\n * Returns attributes object for spans\n * @param react React component currently being instrumented\n **/\n private _getAttributes(react: React.Component) {\n let state: string;\n try {\n state = JSON.stringify(react.state);\n } catch {\n state = '{\"message\": \"state could not be turned into string\"}';\n }\n return {\n [AttributeNames.LOCATION_URL]: window.location.href,\n [AttributeNames.REACT_NAME]: react.constructor.name,\n [AttributeNames.REACT_STATE]: state,\n };\n }\n\n /**\n * This function returns a parent span. If the parent doesn't\n * exist, the function creates one\n * @param react React component parent span belongs to.\n */\n private _getParentSpan(react: React.Component, parentName: string): api.Span {\n const parentSpan: api.Span | undefined = this._parentSpanMap.get(react);\n if (!parentSpan) {\n const span = this._createSpan(react, parentName);\n this._parentSpanMap.set(react, span);\n }\n return this._parentSpanMap.get(react)!;\n }\n\n /**\n * Patches the render lifecycle method\n */\n private _patchRender() {\n return (original: RenderFunction): RenderFunction => {\n const plugin = this;\n return function patchRender(\n this: React.Component,\n ...args\n ): React.ReactNode {\n // Render is the first method in the mounting flow, if a parent span wasn't created already then we're in the mounting flow\n let parentSpan: api.Span;\n if (!plugin._parentSpanMap.get(this)) {\n parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.MOUNTING_SPAN\n );\n } else {\n parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n }\n\n return plugin._instrumentFunction(this, 'render', parentSpan, () => {\n return original!.apply(this, args);\n });\n };\n };\n }\n\n /**\n * Patches the componentDidMount lifecycle method\n */\n private _patchComponentDidMount() {\n return (original: ComponentDidMountFunction): ComponentDidMountFunction => {\n const plugin = this;\n\n return function patchComponentDidMount(\n this: React.Component,\n ...args\n ): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.MOUNTING_SPAN\n );\n const apply = plugin._instrumentFunction(\n this,\n 'componentDidMount',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n plugin._endParentSpan(this);\n return apply;\n };\n };\n }\n\n /**\n * Patches the setState function\n */\n private _patchSetState() {\n return (original: SetStateFunction): SetStateFunction => {\n const plugin = this;\n return function patchSetState(this: React.Component, ...args): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n return plugin._instrumentFunction(\n this,\n 'setState()',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n };\n };\n }\n\n /**\n * Patches the forceUpdate function\n */\n private _patchForceUpdate() {\n return (original: ForceUpdateFunction): ForceUpdateFunction => {\n const plugin = this;\n return function patchForceUpdate(this: React.Component, ...args): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n return plugin._instrumentFunction(\n this,\n 'forceUpdate()',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n };\n };\n }\n\n /**\n * Patches the shouldComponentUpdate lifecycle method\n */\n private _patchShouldComponentUpdate() {\n return (\n original: ShouldComponentUpdateFunction\n ): ShouldComponentUpdateFunction => {\n const plugin = this;\n\n return function patchShouldComponentUpdate(\n this: React.Component,\n ...args\n ): boolean {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n const apply = plugin._instrumentFunction(\n this,\n 'shouldComponentUpdate',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n // if shouldComponentUpdate returns false, the component does not get\n // updated and no other lifecycle methods get called\n if (!apply) {\n plugin._endParentSpan(this);\n }\n\n return apply;\n };\n };\n }\n\n /**\n * Patches the shouldComponentUpdate lifecycle method\n */\n private _patchGetSnapshotBeforeUpdate() {\n return (\n original: GetSnapshotBeforeUpdateFunction\n ): GetSnapshotBeforeUpdateFunction => {\n const plugin = this;\n\n return function patchGetSnapshotBeforeUpdate(\n this: React.Component,\n ...args\n ): any {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n return plugin._instrumentFunction(\n this,\n 'getSnapshotBeforeUpdate',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n };\n };\n }\n\n /**\n * Patches the componentDidUpdate lifecycle method\n */\n private _patchComponentDidUpdate() {\n return (\n original: ComponentDidUpdateFunction\n ): ComponentDidUpdateFunction => {\n const plugin = this;\n\n return function patchComponentDidUpdate(\n this: React.Component,\n ...args\n ): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n const apply = plugin._instrumentFunction(\n this,\n 'componentDidUpdate',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n plugin._endParentSpan(this);\n return apply;\n };\n };\n }\n\n /**\n * Patches the componentWillUnmount lifecycle method\n */\n private _patchComponentWillUnmount() {\n return (\n original: ComponentWillUnmountFunction\n ): ComponentWillUnmountFunction => {\n const plugin = this;\n\n return function patchComponentWillUnmount(\n this: React.Component,\n ...args\n ): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UNMOUNTING_SPAN\n );\n const apply = plugin._instrumentFunction(\n this,\n 'componentWillUnmount',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n plugin._endParentSpan(this);\n return apply;\n };\n };\n }\n\n /**\n * patch function which wraps all the lifecycle methods\n */\n public patch(): void {\n BaseOpenTelemetryComponent._logger.debug(\n 'applying patch to',\n this.moduleName,\n PACKAGE_VERSION\n );\n\n if (isWrapped(this.render)) {\n shimmer.unwrap(this, 'render');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method render'\n );\n }\n if (isWrapped(this.componentDidMount)) {\n shimmer.unwrap(this, 'componentDidMount');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method componentDidMount'\n );\n }\n if (isWrapped(this.shouldComponentUpdate)) {\n shimmer.unwrap(this, 'shouldComponentUpdate');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method shouldComponentUpdate'\n );\n }\n if (isWrapped(this.getSnapshotBeforeUpdate)) {\n shimmer.unwrap(this, 'getSnapshotBeforeUpdate');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method getSnapshotBeforeUpdate'\n );\n }\n if (isWrapped(this.setState)) {\n shimmer.unwrap(this, 'setState');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method setState'\n );\n }\n if (isWrapped(this.forceUpdate)) {\n shimmer.unwrap(this, 'forceUpdate');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method forceUpdate'\n );\n }\n if (isWrapped(this.componentDidUpdate)) {\n shimmer.unwrap(this, 'componentDidUpdate');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method componentDidUpdate'\n );\n }\n if (isWrapped(this.componentWillUnmount)) {\n shimmer.unwrap(this, 'componentWillUnmount');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method componentWillUnmount'\n );\n }\n\n // Lifecycle methods must exist when patching, even if not defined in component\n if (!this.render) {\n this.render = () => {\n return null;\n };\n }\n if (!this.componentDidMount) {\n this.componentDidMount = () => {\n return;\n };\n }\n if (!this.shouldComponentUpdate) {\n this.shouldComponentUpdate = () => {\n return true;\n };\n }\n if (!this.getSnapshotBeforeUpdate) {\n this.getSnapshotBeforeUpdate = () => {\n return null;\n };\n }\n if (!this.componentDidUpdate) {\n this.componentDidUpdate = () => {\n return;\n };\n }\n if (!this.componentWillUnmount) {\n this.componentWillUnmount = () => {\n return;\n };\n }\n\n shimmer.wrap(this, 'render', this._patchRender());\n shimmer.wrap(this, 'componentDidMount', this._patchComponentDidMount());\n shimmer.wrap(this, 'setState', this._patchSetState());\n shimmer.wrap(this, 'forceUpdate', this._patchForceUpdate());\n shimmer.wrap(\n this,\n 'shouldComponentUpdate',\n this._patchShouldComponentUpdate()\n );\n shimmer.wrap(\n this,\n 'getSnapshotBeforeUpdate',\n this._patchGetSnapshotBeforeUpdate()\n );\n shimmer.wrap(this, 'componentDidUpdate', this._patchComponentDidUpdate());\n shimmer.wrap(\n this,\n 'componentWillUnmount',\n this._patchComponentWillUnmount()\n );\n }\n\n /**\n * unpatch function to unwrap all the lifecycle methods\n */\n public unpatch(): void {\n BaseOpenTelemetryComponent._logger.debug(\n 'removing patch from',\n this.moduleName,\n PACKAGE_VERSION\n );\n\n shimmer.unwrap(this, 'render');\n\n shimmer.unwrap(this, 'componentDidMount');\n\n shimmer.unwrap(this, 'setState');\n shimmer.unwrap(this, 'forceUpdate');\n shimmer.unwrap(this, 'shouldComponentUpdate');\n shimmer.unwrap(this, 'getSnapshotBeforeUpdate');\n shimmer.unwrap(this, 'componentDidUpdate');\n\n shimmer.unwrap(this, 'componentWillUnmount');\n\n this._parentSpanMap = new WeakMap<React.Component, api.Span>();\n }\n}\n"]}
1
+ {"version":3,"file":"BaseOpenTelemetryComponent.js","sourceRoot":"","sources":["../../src/BaseOpenTelemetryComponent.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as api from '@opentelemetry/api';\nimport { isWrapped } from '@opentelemetry/instrumentation';\nimport * as shimmer from 'shimmer';\nimport { AttributeNames } from './enums/AttributeNames';\nimport * as React from 'react';\n/** @knipignore */\nimport { PACKAGE_VERSION } from './version';\nimport {\n RenderFunction,\n ComponentDidMountFunction,\n ComponentDidUpdateFunction,\n ShouldComponentUpdateFunction,\n SetStateFunction,\n ForceUpdateFunction,\n GetSnapshotBeforeUpdateFunction,\n ComponentWillUnmountFunction,\n} from './internal-types';\n\n/**\n * This class is the base component for a React component with lifecycle instrumentation\n */\nexport class BaseOpenTelemetryComponent extends React.Component {\n readonly component: string = 'react-load';\n moduleName = this.component;\n private _parentSpanMap: WeakMap<React.Component, api.Span>;\n private static _tracer: api.Tracer;\n private static _logger: api.DiagLogger = api.diag;\n\n /**\n * @param props Props of the React component\n */\n constructor(props: Readonly<any>) {\n super(props);\n this._parentSpanMap = new WeakMap<React.Component, api.Span>();\n this.patch();\n }\n\n /**\n * Sets the tracer for all components being instrumented\n * @param name Name of tracer\n * @param version Version of tracer, this is optional. When not provided it will use the latest.\n */\n static setTracer(name: string, version?: string): void {\n BaseOpenTelemetryComponent._tracer = api.trace.getTracer(\n name,\n version ? version : PACKAGE_VERSION\n );\n }\n\n /**\n * Sets the logger for all components being instrumented\n * @param logger\n */\n static setLogger(logger: api.DiagLogger): void {\n api.diag.setLogger(logger);\n BaseOpenTelemetryComponent._logger = logger;\n }\n\n /**\n * Creates a new span as a child of the current parent span.\n * If parent span is undefined, just the child is created.\n * @param react React component currently being instrumented\n * @param name Name of span\n * @param parentSpan parent span\n */\n private _createSpanWithParent(\n react: React.Component,\n name: string,\n parentSpan: api.Span\n ): api.Span {\n return BaseOpenTelemetryComponent._tracer.startSpan(\n name,\n {\n attributes: this._getAttributes(react),\n },\n parentSpan\n ? api.trace.setSpan(api.context.active(), parentSpan)\n : undefined\n );\n }\n\n /**\n * Creates a new span\n * @param react React component currently being instrumented\n * @param name Name of span\n */\n private _createSpan(react: React.Component, name: string): api.Span {\n return BaseOpenTelemetryComponent._tracer.startSpan(name, {\n attributes: this._getAttributes(react),\n });\n }\n\n /**\n * Provides instrumentation for a function\n * @param react React component currently instrumenting.\n * @param spanName Name to set the span of the instrumented function to.\n * @param original Original function currently being wrapped.\n * @parentName Name to set parent span to on error.\n */\n private _instrumentFunction(\n react: React.Component,\n spanName: string,\n parent: api.Span,\n original: any\n ) {\n const span = this._createSpanWithParent(react, spanName, parent);\n let wasError = false;\n try {\n return api.context.with(\n api.trace.setSpan(api.context.active(), span),\n () => {\n return original();\n }\n );\n } catch (err: any) {\n span.setAttribute(AttributeNames.REACT_ERROR, err.stack);\n wasError = true;\n throw err;\n } finally {\n span.end();\n if (wasError) {\n this._endParentSpan(react);\n }\n }\n }\n\n /**\n * Ends the current parent span.\n * @param react React component parent span belongs to.\n */\n private _endParentSpan(react: React.Component) {\n const parentSpan = this._parentSpanMap.get(react);\n if (parentSpan) {\n parentSpan.end();\n this._parentSpanMap.delete(react);\n }\n }\n\n /**\n * Returns attributes object for spans\n * @param react React component currently being instrumented\n **/\n private _getAttributes(react: React.Component) {\n let state: string;\n try {\n state = JSON.stringify(react.state);\n } catch {\n state = '{\"message\": \"state could not be turned into string\"}';\n }\n return {\n [AttributeNames.LOCATION_URL]: window.location.href,\n [AttributeNames.REACT_NAME]: react.constructor.name,\n [AttributeNames.REACT_STATE]: state,\n };\n }\n\n /**\n * This function returns a parent span. If the parent doesn't\n * exist, the function creates one\n * @param react React component parent span belongs to.\n */\n private _getParentSpan(react: React.Component, parentName: string): api.Span {\n const parentSpan: api.Span | undefined = this._parentSpanMap.get(react);\n if (!parentSpan) {\n const span = this._createSpan(react, parentName);\n this._parentSpanMap.set(react, span);\n }\n return this._parentSpanMap.get(react)!;\n }\n\n /**\n * Patches the render lifecycle method\n */\n private _patchRender() {\n return (original: RenderFunction): RenderFunction => {\n const plugin = this;\n return function patchRender(\n this: React.Component,\n ...args\n ): React.ReactNode {\n // Render is the first method in the mounting flow, if a parent span wasn't created already then we're in the mounting flow\n let parentSpan: api.Span;\n if (!plugin._parentSpanMap.get(this)) {\n parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.MOUNTING_SPAN\n );\n } else {\n parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n }\n\n return plugin._instrumentFunction(this, 'render', parentSpan, () => {\n return original!.apply(this, args);\n });\n };\n };\n }\n\n /**\n * Patches the componentDidMount lifecycle method\n */\n private _patchComponentDidMount() {\n return (original: ComponentDidMountFunction): ComponentDidMountFunction => {\n const plugin = this;\n\n return function patchComponentDidMount(\n this: React.Component,\n ...args\n ): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.MOUNTING_SPAN\n );\n const apply = plugin._instrumentFunction(\n this,\n 'componentDidMount',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n plugin._endParentSpan(this);\n return apply;\n };\n };\n }\n\n /**\n * Patches the setState function\n */\n private _patchSetState() {\n return (original: SetStateFunction): SetStateFunction => {\n const plugin = this;\n return function patchSetState(this: React.Component, ...args): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n return plugin._instrumentFunction(\n this,\n 'setState()',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n };\n };\n }\n\n /**\n * Patches the forceUpdate function\n */\n private _patchForceUpdate() {\n return (original: ForceUpdateFunction): ForceUpdateFunction => {\n const plugin = this;\n return function patchForceUpdate(this: React.Component, ...args): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n return plugin._instrumentFunction(\n this,\n 'forceUpdate()',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n };\n };\n }\n\n /**\n * Patches the shouldComponentUpdate lifecycle method\n */\n private _patchShouldComponentUpdate() {\n return (\n original: ShouldComponentUpdateFunction\n ): ShouldComponentUpdateFunction => {\n const plugin = this;\n\n return function patchShouldComponentUpdate(\n this: React.Component,\n ...args\n ): boolean {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n const apply = plugin._instrumentFunction(\n this,\n 'shouldComponentUpdate',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n // if shouldComponentUpdate returns false, the component does not get\n // updated and no other lifecycle methods get called\n if (!apply) {\n plugin._endParentSpan(this);\n }\n\n return apply;\n };\n };\n }\n\n /**\n * Patches the shouldComponentUpdate lifecycle method\n */\n private _patchGetSnapshotBeforeUpdate() {\n return (\n original: GetSnapshotBeforeUpdateFunction\n ): GetSnapshotBeforeUpdateFunction => {\n const plugin = this;\n\n return function patchGetSnapshotBeforeUpdate(\n this: React.Component,\n ...args\n ): any {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n return plugin._instrumentFunction(\n this,\n 'getSnapshotBeforeUpdate',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n };\n };\n }\n\n /**\n * Patches the componentDidUpdate lifecycle method\n */\n private _patchComponentDidUpdate() {\n return (\n original: ComponentDidUpdateFunction\n ): ComponentDidUpdateFunction => {\n const plugin = this;\n\n return function patchComponentDidUpdate(\n this: React.Component,\n ...args\n ): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UPDATING_SPAN\n );\n const apply = plugin._instrumentFunction(\n this,\n 'componentDidUpdate',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n plugin._endParentSpan(this);\n return apply;\n };\n };\n }\n\n /**\n * Patches the componentWillUnmount lifecycle method\n */\n private _patchComponentWillUnmount() {\n return (\n original: ComponentWillUnmountFunction\n ): ComponentWillUnmountFunction => {\n const plugin = this;\n\n return function patchComponentWillUnmount(\n this: React.Component,\n ...args\n ): void {\n const parentSpan = plugin._getParentSpan(\n this,\n AttributeNames.UNMOUNTING_SPAN\n );\n const apply = plugin._instrumentFunction(\n this,\n 'componentWillUnmount',\n parentSpan,\n () => {\n return original!.apply(this, args);\n }\n );\n plugin._endParentSpan(this);\n return apply;\n };\n };\n }\n\n /**\n * patch function which wraps all the lifecycle methods\n */\n public patch(): void {\n BaseOpenTelemetryComponent._logger.debug(\n 'applying patch to',\n this.moduleName,\n PACKAGE_VERSION\n );\n\n if (isWrapped(this.render)) {\n shimmer.unwrap(this, 'render');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method render'\n );\n }\n if (isWrapped(this.componentDidMount)) {\n shimmer.unwrap(this, 'componentDidMount');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method componentDidMount'\n );\n }\n if (isWrapped(this.shouldComponentUpdate)) {\n shimmer.unwrap(this, 'shouldComponentUpdate');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method shouldComponentUpdate'\n );\n }\n if (isWrapped(this.getSnapshotBeforeUpdate)) {\n shimmer.unwrap(this, 'getSnapshotBeforeUpdate');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method getSnapshotBeforeUpdate'\n );\n }\n if (isWrapped(this.setState)) {\n shimmer.unwrap(this, 'setState');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method setState'\n );\n }\n if (isWrapped(this.forceUpdate)) {\n shimmer.unwrap(this, 'forceUpdate');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method forceUpdate'\n );\n }\n if (isWrapped(this.componentDidUpdate)) {\n shimmer.unwrap(this, 'componentDidUpdate');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method componentDidUpdate'\n );\n }\n if (isWrapped(this.componentWillUnmount)) {\n shimmer.unwrap(this, 'componentWillUnmount');\n BaseOpenTelemetryComponent._logger.warn(\n 'removing previous patch from method componentWillUnmount'\n );\n }\n\n // Lifecycle methods must exist when patching, even if not defined in component\n if (!this.render) {\n this.render = () => {\n return null;\n };\n }\n if (!this.componentDidMount) {\n this.componentDidMount = () => {\n return;\n };\n }\n if (!this.shouldComponentUpdate) {\n this.shouldComponentUpdate = () => {\n return true;\n };\n }\n if (!this.getSnapshotBeforeUpdate) {\n this.getSnapshotBeforeUpdate = () => {\n return null;\n };\n }\n if (!this.componentDidUpdate) {\n this.componentDidUpdate = () => {\n return;\n };\n }\n if (!this.componentWillUnmount) {\n this.componentWillUnmount = () => {\n return;\n };\n }\n\n shimmer.wrap(this, 'render', this._patchRender());\n shimmer.wrap(this, 'componentDidMount', this._patchComponentDidMount());\n shimmer.wrap(this, 'setState', this._patchSetState());\n shimmer.wrap(this, 'forceUpdate', this._patchForceUpdate());\n shimmer.wrap(\n this,\n 'shouldComponentUpdate',\n this._patchShouldComponentUpdate()\n );\n shimmer.wrap(\n this,\n 'getSnapshotBeforeUpdate',\n this._patchGetSnapshotBeforeUpdate()\n );\n shimmer.wrap(this, 'componentDidUpdate', this._patchComponentDidUpdate());\n shimmer.wrap(\n this,\n 'componentWillUnmount',\n this._patchComponentWillUnmount()\n );\n }\n\n /**\n * unpatch function to unwrap all the lifecycle methods\n */\n public unpatch(): void {\n BaseOpenTelemetryComponent._logger.debug(\n 'removing patch from',\n this.moduleName,\n PACKAGE_VERSION\n );\n\n shimmer.unwrap(this, 'render');\n\n shimmer.unwrap(this, 'componentDidMount');\n\n shimmer.unwrap(this, 'setState');\n shimmer.unwrap(this, 'forceUpdate');\n shimmer.unwrap(this, 'shouldComponentUpdate');\n shimmer.unwrap(this, 'getSnapshotBeforeUpdate');\n shimmer.unwrap(this, 'componentDidUpdate');\n\n shimmer.unwrap(this, 'componentWillUnmount');\n\n this._parentSpanMap = new WeakMap<React.Component, api.Span>();\n }\n}\n"]}
@@ -16,7 +16,11 @@
16
16
  */
17
17
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
18
  if (k2 === undefined) k2 = k;
19
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
20
24
  }) : (function(o, m, k, k2) {
21
25
  if (k2 === undefined) k2 = k;
22
26
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;AAEH,+DAA6C;AAC7C,yDAAuC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './BaseOpenTelemetryComponent';\nexport * from './enums/AttributeNames';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;AAEH,+DAA6C;AAC7C,yDAAuC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './BaseOpenTelemetryComponent';\nexport * from './enums/AttributeNames';\n"]}
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
- export declare type RenderFunction = () => React.ReactNode;
3
- export declare type ComponentDidMountFunction = (() => void) | undefined;
4
- export declare type ComponentDidUpdateFunction = ((prevProps: Readonly<any>, prevState: Readonly<any>, snapshot?: any) => void) | undefined;
5
- export declare type ShouldComponentUpdateFunction = ((nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any) => boolean) | undefined;
6
- export declare type SetStateFunction = <K extends never>(state: any | ((prevState: Readonly<any>, props: Readonly<any>) => any | Pick<any, K> | null) | Pick<any, K> | null, callback?: (() => void) | undefined) => void;
7
- export declare type ForceUpdateFunction = (callback?: (() => void) | undefined) => void;
8
- export declare type GetSnapshotBeforeUpdateFunction = ((prevProps: Readonly<any>, prevState: Readonly<any>) => any) | undefined;
9
- export declare type ComponentWillUnmountFunction = (() => void) | undefined;
2
+ export type RenderFunction = () => React.ReactNode;
3
+ export type ComponentDidMountFunction = (() => void) | undefined;
4
+ export type ComponentDidUpdateFunction = ((prevProps: Readonly<any>, prevState: Readonly<any>, snapshot?: any) => void) | undefined;
5
+ export type ShouldComponentUpdateFunction = ((nextProps: Readonly<any>, nextState: Readonly<any>, nextContext: any) => boolean) | undefined;
6
+ export type SetStateFunction = <K extends never>(state: any | ((prevState: Readonly<any>, props: Readonly<any>) => any | Pick<any, K> | null) | Pick<any, K> | null, callback?: (() => void) | undefined) => void;
7
+ export type ForceUpdateFunction = (callback?: (() => void) | undefined) => void;
8
+ export type GetSnapshotBeforeUpdateFunction = ((prevProps: Readonly<any>, prevState: Readonly<any>) => any) | undefined;
9
+ export type ComponentWillUnmountFunction = (() => void) | undefined;
10
10
  //# sourceMappingURL=internal-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal-types.d.ts","sourceRoot":"","sources":["../../src/internal-types.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,oBAAY,cAAc,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC;AAKnD,oBAAY,yBAAyB,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;AAKjE,oBAAY,0BAA0B,GAClC,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,QAAQ,CAAC,EAAE,GAAG,KACX,IAAI,CAAC,GACV,SAAS,CAAC;AAKd,oBAAY,6BAA6B,GACrC,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,WAAW,EAAE,GAAG,KACb,OAAO,CAAC,GACb,SAAS,CAAC;AAKd,oBAAY,gBAAgB,GAAG,CAAC,CAAC,SAAS,KAAK,EAC7C,KAAK,EACD,GAAG,GACH,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KACjB,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GACZ,IAAI,EACR,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,KAChC,IAAI,CAAC;AAKV,oBAAY,mBAAmB,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;AAKhF,oBAAY,+BAA+B,GACvC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAC7D,SAAS,CAAC;AAKd,oBAAY,4BAA4B,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"internal-types.d.ts","sourceRoot":"","sources":["../../src/internal-types.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC;AAKnD,MAAM,MAAM,yBAAyB,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;AAKjE,MAAM,MAAM,0BAA0B,GAClC,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,QAAQ,CAAC,EAAE,GAAG,KACX,IAAI,CAAC,GACV,SAAS,CAAC;AAKd,MAAM,MAAM,6BAA6B,GACrC,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,WAAW,EAAE,GAAG,KACb,OAAO,CAAC,GACb,SAAS,CAAC;AAKd,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,SAAS,KAAK,EAC7C,KAAK,EACD,GAAG,GACH,CAAC,CACC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EACxB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KACjB,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GACZ,IAAI,EACR,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,KAChC,IAAI,CAAC;AAKV,MAAM,MAAM,mBAAmB,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;AAKhF,MAAM,MAAM,+BAA+B,GACvC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAC7D,SAAS,CAAC;AAKd,MAAM,MAAM,4BAA4B,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC"}
@@ -1,3 +1,3 @@
1
- export declare const PACKAGE_VERSION = "0.31.0";
1
+ export declare const PACKAGE_VERSION = "0.32.0";
2
2
  export declare const PACKAGE_NAME = "@opentelemetry/plugin-react-load";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -17,6 +17,6 @@
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = void 0;
19
19
  // this is autogenerated file, see scripts/version-update.js
20
- exports.PACKAGE_VERSION = '0.31.0';
20
+ exports.PACKAGE_VERSION = '0.32.0';
21
21
  exports.PACKAGE_NAME = '@opentelemetry/plugin-react-load';
22
22
  //# sourceMappingURL=version.js.map