miniflare 0.0.0-e5ebdb143 → 0.0.0-e62b097bb

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.
@@ -8632,7 +8632,7 @@ var PerformanceTimer = class {
8632
8632
 
8633
8633
  // ../workers-shared/utils/sentry.ts
8634
8634
  var import_toucan_js = __toESM(require_index_cjs());
8635
- function setupSentry(request, context, dsn, clientId, clientSecret) {
8635
+ function setupSentry(request, context, dsn, clientId, clientSecret, coloMetadata, accountId, scriptId) {
8636
8636
  if (!(dsn && clientId && clientSecret))
8637
8637
  return;
8638
8638
  let sentry = new import_toucan_js.Toucan({
@@ -8659,16 +8659,44 @@ function setupSentry(request, context, dsn, clientId, clientSecret) {
8659
8659
  "CF-Access-Client-Secret": clientSecret
8660
8660
  }
8661
8661
  }
8662
- }), colo = request.cf?.colo ?? "UNKNOWN";
8663
- sentry.setTag("colo", colo);
8664
- let userAgent = request.headers.get("user-agent") ?? "UA UNKNOWN";
8665
- return sentry.setUser({ userAgent, colo }), sentry;
8662
+ });
8663
+ return coloMetadata && (sentry.setTag("colo", coloMetadata.coloId), sentry.setTag("metal", coloMetadata.metalId)), accountId && scriptId && (sentry.setTag("accountId", accountId), sentry.setTag("scriptId", scriptId)), sentry.setUser({ id: accountId?.toString() }), sentry;
8664
+ }
8665
+
8666
+ // ../workers-shared/utils/tracing.ts
8667
+ function mockJaegerBindingSpan() {
8668
+ return {
8669
+ addLogs: () => {
8670
+ },
8671
+ setTags: () => {
8672
+ },
8673
+ end: () => {
8674
+ },
8675
+ isRecording: !0
8676
+ };
8677
+ }
8678
+ function mockJaegerBinding() {
8679
+ return {
8680
+ enterSpan: (_, span, ...args) => span(mockJaegerBindingSpan(), ...args),
8681
+ getSpanContext: () => ({
8682
+ traceId: "test-trace",
8683
+ spanId: "test-span",
8684
+ parentSpanId: "test-parent-span",
8685
+ traceFlags: 0
8686
+ }),
8687
+ runWithSpanContext: (_, callback, ...args) => callback(...args),
8688
+ traceId: "test-trace",
8689
+ spanId: "test-span",
8690
+ parentSpanId: "test-parent-span",
8691
+ cfTraceIdHeader: "test-trace:test-span:0"
8692
+ };
8666
8693
  }
8667
8694
 
8668
8695
  // ../workers-shared/router-worker/src/analytics.ts
8669
8696
  var Analytics = class {
8670
8697
  data = {};
8671
8698
  readyAnalytics;
8699
+ hasWritten = !1;
8672
8700
  constructor(readyAnalytics) {
8673
8701
  this.readyAnalytics = readyAnalytics;
8674
8702
  }
@@ -8679,11 +8707,10 @@ var Analytics = class {
8679
8707
  return this.data[key];
8680
8708
  }
8681
8709
  write() {
8682
- this.readyAnalytics && this.readyAnalytics.logEvent({
8710
+ this.hasWritten || this.readyAnalytics && (this.hasWritten = !0, this.readyAnalytics.logEvent({
8683
8711
  version: 1,
8684
- accountId: 0,
8685
- // TODO: need to plumb through
8686
- indexId: this.data.hostname?.substring(0, 96),
8712
+ accountId: this.data.accountId,
8713
+ indexId: this.data.scriptId?.toString(),
8687
8714
  doubles: [
8688
8715
  this.data.requestTime ?? -1,
8689
8716
  // double1
@@ -8707,24 +8734,29 @@ var Analytics = class {
8707
8734
  this.data.coloRegion
8708
8735
  // blob5
8709
8736
  ]
8710
- });
8737
+ }));
8711
8738
  }
8712
8739
  };
8713
8740
 
8714
8741
  // ../workers-shared/router-worker/src/index.ts
8715
8742
  var src_default = {
8716
8743
  async fetch(request, env, ctx) {
8717
- let sentry, analytics = new Analytics(env.ANALYTICS), performance = new PerformanceTimer(env.UNSAFE_PERFORMANCE), startTimeMs = performance.now();
8744
+ let sentry, userWorkerInvocation = !1, analytics = new Analytics(env.ANALYTICS), performance = new PerformanceTimer(env.UNSAFE_PERFORMANCE), startTimeMs = performance.now();
8718
8745
  try {
8719
- sentry = setupSentry(
8746
+ env.JAEGER || (env.JAEGER = mockJaegerBinding()), sentry = setupSentry(
8720
8747
  request,
8721
8748
  ctx,
8722
8749
  env.SENTRY_DSN,
8723
8750
  env.SENTRY_ACCESS_CLIENT_ID,
8724
- env.SENTRY_ACCESS_CLIENT_SECRET
8751
+ env.SENTRY_ACCESS_CLIENT_SECRET,
8752
+ env.COLO_METADATA,
8753
+ env.CONFIG?.account_id,
8754
+ env.CONFIG?.script_id
8725
8755
  );
8726
8756
  let url = new URL(request.url);
8727
- sentry && (sentry.setUser({ username: url.hostname }), sentry.setTag("colo", env.COLO_METADATA.coloId), sentry.setTag("metal", env.COLO_METADATA.metalId)), env.COLO_METADATA && env.VERSION_METADATA && env.CONFIG && analytics.setData({
8757
+ env.COLO_METADATA && env.VERSION_METADATA && env.CONFIG && analytics.setData({
8758
+ accountId: env.CONFIG.account_id,
8759
+ scriptId: env.CONFIG.script_id,
8728
8760
  coloId: env.COLO_METADATA.coloId,
8729
8761
  metalId: env.COLO_METADATA.metalId,
8730
8762
  coloTier: env.COLO_METADATA.coloTier,
@@ -8739,10 +8771,25 @@ var src_default = {
8739
8771
  throw new Error(
8740
8772
  "Fetch for user worker without having a user worker binding"
8741
8773
  );
8742
- return env.USER_WORKER.fetch(maybeSecondRequest);
8743
- }
8744
- return env.CONFIG.has_user_worker ? await env.ASSET_WORKER.unstable_canFetch(request) ? (analytics.setData({ dispatchtype: "asset" /* ASSETS */ }), env.ASSET_WORKER.fetch(maybeSecondRequest)) : (analytics.setData({ dispatchtype: "worker" /* WORKER */ }), env.USER_WORKER.fetch(maybeSecondRequest)) : (analytics.setData({ dispatchtype: "asset" /* ASSETS */ }), env.ASSET_WORKER.fetch(request));
8774
+ return analytics.setData({ dispatchtype: "worker" /* WORKER */ }), await env.JAEGER.enterSpan("dispatch_worker", async (span) => (span.setTags({
8775
+ hasUserWorker: !0,
8776
+ asset: "ignored",
8777
+ dispatchType: "worker" /* WORKER */
8778
+ }), userWorkerInvocation = !0, env.USER_WORKER.fetch(maybeSecondRequest)));
8779
+ }
8780
+ let assetsExist = await env.ASSET_WORKER.unstable_canFetch(request);
8781
+ return env.CONFIG.has_user_worker && !assetsExist ? (analytics.setData({ dispatchtype: "worker" /* WORKER */ }), await env.JAEGER.enterSpan("dispatch_worker", async (span) => (span.setTags({
8782
+ hasUserWorker: env.CONFIG.has_user_worker || !1,
8783
+ asset: assetsExist,
8784
+ dispatchType: "worker" /* WORKER */
8785
+ }), userWorkerInvocation = !0, env.USER_WORKER.fetch(maybeSecondRequest)))) : (analytics.setData({ dispatchtype: "asset" /* ASSETS */ }), await env.JAEGER.enterSpan("dispatch_assets", async (span) => (span.setTags({
8786
+ hasUserWorker: env.CONFIG.has_user_worker || !1,
8787
+ asset: assetsExist,
8788
+ dispatchType: "asset" /* ASSETS */
8789
+ }), env.ASSET_WORKER.fetch(maybeSecondRequest))));
8745
8790
  } catch (err) {
8791
+ if (userWorkerInvocation)
8792
+ return;
8746
8793
  throw err instanceof Error && analytics.setData({ error: err.message }), sentry && sentry.captureException(err), err;
8747
8794
  } finally {
8748
8795
  analytics.setData({ requestTime: performance.now() - startTimeMs }), analytics.write();