@pydantic/logfire-browser 0.3.1 → 0.5.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.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("@opentelemetry/api"),u=require("@opentelemetry/context-zone"),l=require("@opentelemetry/exporter-trace-otlp-http"),T=require("@opentelemetry/instrumentation"),f=require("@opentelemetry/resources"),c=require("@opentelemetry/sdk-trace-web"),t=require("@opentelemetry/semantic-conventions"),a=require("@opentelemetry/semantic-conventions/incubating"),g=require("@pydantic/logfire-api");function E(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(o,r,i.get?i:{enumerable:!0,get:()=>e[r]})}}return o.default=e,Object.freeze(o)}const b=E(g);function A(e){e.diagLogLevel!==void 0&&n.diag.setLogger(new n.DiagConsoleLogger,e.diagLogLevel),e.scrubbing!==void 0&&b.configureLogfireApi({scrubbing:e.scrubbing});const o=f.resourceFromAttributes({[a.ATTR_BROWSER_LANGUAGE]:navigator.language,[t.ATTR_SERVICE_NAME]:e.serviceName??"logfire-browser",[t.ATTR_SERVICE_VERSION]:e.serviceVersion??"0.0.1",[t.ATTR_TELEMETRY_SDK_LANGUAGE]:t.TELEMETRY_SDK_LANGUAGE_VALUE_WEBJS,[t.ATTR_TELEMETRY_SDK_NAME]:"logfire-browser",...e.environment?{[a.ATTR_DEPLOYMENT_ENVIRONMENT_NAME]:e.environment}:{},[t.ATTR_TELEMETRY_SDK_VERSION]:"0.3.1",...navigator.userAgentData?{[a.ATTR_BROWSER_BRANDS]:navigator.userAgentData.brands.map(s=>`${s.brand} ${s.version}`),[a.ATTR_BROWSER_MOBILE]:navigator.userAgentData.mobile,[a.ATTR_BROWSER_PLATFORM]:navigator.userAgentData.platform}:{[t.ATTR_USER_AGENT_ORIGINAL]:navigator.userAgent}});n.diag.info("logfire-browser: starting");const r=new c.WebTracerProvider({idGenerator:new g.ULIDGenerator,resource:o,spanProcessors:[new c.BatchSpanProcessor(new l.OTLPTraceExporter({url:e.traceUrl}),e.batchSpanProcessorConfig)]});e.enableZoneContextManager!==!1&&(n.diag.info("logfire-browser: enable zone context manager"),r.register({contextManager:new u.ZoneContextManager}));const i=T.registerInstrumentations({instrumentations:e.instrumentations??[],tracerProvider:r});return async()=>{n.diag.info("logfire-browser: shutting down"),i(),await r.forceFlush(),await r.shutdown(),n.diag.info("logfire-browser: shut down complete")}}Object.defineProperty(exports,"DiagLogLevel",{enumerable:!0,get:()=>n.DiagLogLevel});exports.configure=A;Object.keys(g).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>g[e]})});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("@opentelemetry/api"),u=require("@opentelemetry/context-zone"),l=require("@opentelemetry/exporter-trace-otlp-http"),T=require("@opentelemetry/instrumentation"),f=require("@opentelemetry/resources"),s=require("@opentelemetry/sdk-trace-web"),t=require("@opentelemetry/semantic-conventions"),a=require("@opentelemetry/semantic-conventions/incubating"),g=require("@pydantic/logfire-api");function E(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(o,r,i.get?i:{enumerable:!0,get:()=>e[r]})}}return o.default=e,Object.freeze(o)}const b=E(g);function A(e){e.diagLogLevel!==void 0&&n.diag.setLogger(new n.DiagConsoleLogger,e.diagLogLevel),e.scrubbing!==void 0&&b.configureLogfireApi({scrubbing:e.scrubbing});const o=f.resourceFromAttributes({[a.ATTR_BROWSER_LANGUAGE]:navigator.language,[t.ATTR_SERVICE_NAME]:e.serviceName??"logfire-browser",[t.ATTR_SERVICE_VERSION]:e.serviceVersion??"0.0.1",[t.ATTR_TELEMETRY_SDK_LANGUAGE]:t.TELEMETRY_SDK_LANGUAGE_VALUE_WEBJS,[t.ATTR_TELEMETRY_SDK_NAME]:"logfire-browser",...e.environment?{[a.ATTR_DEPLOYMENT_ENVIRONMENT_NAME]:e.environment}:{},[t.ATTR_TELEMETRY_SDK_VERSION]:"0.5.0",...navigator.userAgentData?{[a.ATTR_BROWSER_BRANDS]:navigator.userAgentData.brands.map(c=>`${c.brand} ${c.version}`),[a.ATTR_BROWSER_MOBILE]:navigator.userAgentData.mobile,[a.ATTR_BROWSER_PLATFORM]:navigator.userAgentData.platform}:{[t.ATTR_USER_AGENT_ORIGINAL]:navigator.userAgent}});n.diag.info("logfire-browser: starting");const r=new s.WebTracerProvider({idGenerator:new g.ULIDGenerator,resource:o,spanProcessors:[new s.BatchSpanProcessor(new l.OTLPTraceExporter({...e.traceExporterConfig,url:e.traceUrl}),e.batchSpanProcessorConfig)]});e.enableZoneContextManager!==!1&&(n.diag.info("logfire-browser: enable zone context manager"),r.register({contextManager:new u.ZoneContextManager}));const i=T.registerInstrumentations({instrumentations:e.instrumentations??[],tracerProvider:r});return async()=>{n.diag.info("logfire-browser: shutting down"),i(),await r.forceFlush(),await r.shutdown(),n.diag.info("logfire-browser: shut down complete")}}Object.defineProperty(exports,"DiagLogLevel",{enumerable:!0,get:()=>n.DiagLogLevel});exports.configure=A;Object.keys(g).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>g[e]})});
package/dist/index.d.cts CHANGED
@@ -2,6 +2,7 @@ import { BufferConfig } from '@opentelemetry/sdk-trace-web';
2
2
  import { DiagLogLevel } from '@opentelemetry/api';
3
3
  import { Instrumentation } from '@opentelemetry/instrumentation';
4
4
  import * as logfireApi from '@pydantic/logfire-api';
5
+ import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
5
6
 
6
7
  export declare function configure(options: LogfireConfigOptions): () => Promise<void>;
7
8
 
@@ -41,12 +42,18 @@ export declare interface LogfireConfigOptions {
41
42
  * Version of this service.
42
43
  */
43
44
  serviceVersion?: string;
45
+ /**
46
+ * configures the trace exporter.
47
+ */
48
+ traceExporterConfig?: TraceExporterConfig;
44
49
  /**
45
50
  * The URL of your trace exporter proxy endpoint.
46
51
  */
47
52
  traceUrl: string;
48
53
  }
49
54
 
55
+ declare type TraceExporterConfig = NonNullable<typeof OTLPTraceExporter extends new (config: infer T) => unknown ? T : never>;
56
+
50
57
 
51
58
  export * from "@pydantic/logfire-api";
52
59
 
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import { BufferConfig } from '@opentelemetry/sdk-trace-web';
2
2
  import { DiagLogLevel } from '@opentelemetry/api';
3
3
  import { Instrumentation } from '@opentelemetry/instrumentation';
4
4
  import * as logfireApi from '@pydantic/logfire-api';
5
+ import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
5
6
 
6
7
  export declare function configure(options: LogfireConfigOptions): () => Promise<void>;
7
8
 
@@ -41,12 +42,18 @@ export declare interface LogfireConfigOptions {
41
42
  * Version of this service.
42
43
  */
43
44
  serviceVersion?: string;
45
+ /**
46
+ * configures the trace exporter.
47
+ */
48
+ traceExporterConfig?: TraceExporterConfig;
44
49
  /**
45
50
  * The URL of your trace exporter proxy endpoint.
46
51
  */
47
52
  traceUrl: string;
48
53
  }
49
54
 
55
+ declare type TraceExporterConfig = NonNullable<typeof OTLPTraceExporter extends new (config: infer T) => unknown ? T : never>;
56
+
50
57
 
51
58
  export * from "@pydantic/logfire-api";
52
59
 
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ import { ATTR_BROWSER_PLATFORM as b, ATTR_BROWSER_MOBILE as v, ATTR_BROWSER_BRAN
10
10
  import * as M from "@pydantic/logfire-api";
11
11
  import { ULIDGenerator as D } from "@pydantic/logfire-api";
12
12
  export * from "@pydantic/logfire-api";
13
- function V(r) {
13
+ function U(r) {
14
14
  r.diagLogLevel !== void 0 && e.setLogger(new i(), r.diagLogLevel), r.scrubbing !== void 0 && M.configureLogfireApi({ scrubbing: r.scrubbing });
15
15
  const t = T({
16
16
  [N]: navigator.language,
@@ -20,7 +20,7 @@ function V(r) {
20
20
  [c]: "logfire-browser",
21
21
  ...r.environment ? { [S]: r.environment } : {},
22
22
  // eslint-disable-next-line no-undef
23
- [_]: "0.3.1",
23
+ [_]: "0.5.0",
24
24
  ...navigator.userAgentData ? {
25
25
  [w]: navigator.userAgentData.brands.map((n) => `${n.brand} ${n.version}`),
26
26
  [v]: navigator.userAgentData.mobile,
@@ -33,7 +33,12 @@ function V(r) {
33
33
  const o = new f({
34
34
  idGenerator: new D(),
35
35
  resource: t,
36
- spanProcessors: [new m(new s({ url: r.traceUrl }), r.batchSpanProcessorConfig)]
36
+ spanProcessors: [
37
+ new m(
38
+ new s({ ...r.traceExporterConfig, url: r.traceUrl }),
39
+ r.batchSpanProcessorConfig
40
+ )
41
+ ]
37
42
  });
38
43
  r.enableZoneContextManager !== !1 && (e.info("logfire-browser: enable zone context manager"), o.register({
39
44
  contextManager: new g()
@@ -48,5 +53,5 @@ function V(r) {
48
53
  }
49
54
  export {
50
55
  W as DiagLogLevel,
51
- V as configure
56
+ U as configure
52
57
  };
package/package.json CHANGED
@@ -21,7 +21,7 @@
21
21
  "stats",
22
22
  "monitoring"
23
23
  ],
24
- "version": "0.3.1",
24
+ "version": "0.5.0",
25
25
  "type": "module",
26
26
  "main": "./dist/index.cjs",
27
27
  "module": "./dist/index.js",