miniflare 0.0.0-e7ea6005c → 0.0.0-e8aaa3930

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.
@@ -8619,6 +8619,17 @@ var require_index_cjs = __commonJS({
8619
8619
  }
8620
8620
  });
8621
8621
 
8622
+ // ../workers-shared/utils/performance.ts
8623
+ var PerformanceTimer = class {
8624
+ performanceTimer;
8625
+ constructor(performanceTimer) {
8626
+ this.performanceTimer = performanceTimer;
8627
+ }
8628
+ now() {
8629
+ return this.performanceTimer ? this.performanceTimer.timeOrigin + this.performanceTimer.now() : Date.now();
8630
+ }
8631
+ };
8632
+
8622
8633
  // ../workers-shared/utils/sentry.ts
8623
8634
  var import_toucan_js = __toESM(require_index_cjs());
8624
8635
  function setupSentry(request, context, dsn, clientId, clientSecret) {
@@ -8657,18 +8668,22 @@ function setupSentry(request, context, dsn, clientId, clientSecret) {
8657
8668
  // ../workers-shared/router-worker/src/analytics.ts
8658
8669
  var Analytics = class {
8659
8670
  data = {};
8671
+ readyAnalytics;
8672
+ constructor(readyAnalytics) {
8673
+ this.readyAnalytics = readyAnalytics;
8674
+ }
8660
8675
  setData(newData) {
8661
8676
  this.data = { ...this.data, ...newData };
8662
8677
  }
8663
8678
  getData(key) {
8664
8679
  return this.data[key];
8665
8680
  }
8666
- write(env, readyAnalytics, hostname) {
8667
- readyAnalytics && readyAnalytics.logEvent({
8681
+ write() {
8682
+ this.readyAnalytics && this.readyAnalytics.logEvent({
8668
8683
  version: 1,
8669
8684
  accountId: 0,
8670
8685
  // TODO: need to plumb through
8671
- indexId: hostname,
8686
+ indexId: this.data.hostname?.substring(0, 96),
8672
8687
  doubles: [
8673
8688
  this.data.requestTime ?? -1,
8674
8689
  // double1
@@ -8676,8 +8691,9 @@ var Analytics = class {
8676
8691
  // double2
8677
8692
  this.data.metalId ?? -1,
8678
8693
  // double3
8679
- this.data.coloTier ?? -1
8694
+ this.data.coloTier ?? -1,
8680
8695
  // double4
8696
+ this.data.userWorkerAhead === void 0 ? -1 : Number(this.data.userWorkerAhead)
8681
8697
  ],
8682
8698
  blobs: [
8683
8699
  this.data.hostname?.substring(0, 256),
@@ -8695,21 +8711,10 @@ var Analytics = class {
8695
8711
  }
8696
8712
  };
8697
8713
 
8698
- // ../workers-shared/router-worker/src/performance.ts
8699
- var PerformanceTimer = class {
8700
- performanceTimer;
8701
- constructor(performanceTimer) {
8702
- this.performanceTimer = performanceTimer;
8703
- }
8704
- now() {
8705
- return this.performanceTimer ? this.performanceTimer.timeOrigin + this.performanceTimer.now() : Date.now();
8706
- }
8707
- };
8708
-
8709
8714
  // ../workers-shared/router-worker/src/index.ts
8710
8715
  var src_default = {
8711
8716
  async fetch(request, env, ctx) {
8712
- let sentry, analytics = new Analytics(), performance = new PerformanceTimer(env.UNSAFE_PERFORMANCE), startTimeMs = performance.now();
8717
+ let sentry, analytics = new Analytics(env.ANALYTICS), performance = new PerformanceTimer(env.UNSAFE_PERFORMANCE), startTimeMs = performance.now();
8713
8718
  try {
8714
8719
  sentry = setupSentry(
8715
8720
  request,
@@ -8719,20 +8724,28 @@ var src_default = {
8719
8724
  env.SENTRY_ACCESS_CLIENT_SECRET
8720
8725
  );
8721
8726
  let url = new URL(request.url);
8722
- 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 && analytics.setData({
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({
8723
8728
  coloId: env.COLO_METADATA.coloId,
8724
8729
  metalId: env.COLO_METADATA.metalId,
8725
8730
  coloTier: env.COLO_METADATA.coloTier,
8726
8731
  coloRegion: env.COLO_METADATA.coloRegion,
8727
8732
  hostname: url.hostname,
8728
- version: env.VERSION_METADATA.id
8733
+ version: env.VERSION_METADATA.id,
8734
+ userWorkerAhead: env.CONFIG.invoke_user_worker_ahead_of_assets
8729
8735
  });
8730
8736
  let maybeSecondRequest = request.clone();
8731
- return env.CONFIG.has_user_worker ? await env.ASSET_WORKER.unstable_canFetch(request) ? (analytics.setData({ dispatchtype: "asset" /* ASSETS */ }), await env.ASSET_WORKER.fetch(maybeSecondRequest)) : (analytics.setData({ dispatchtype: "worker" /* WORKER */ }), env.USER_WORKER.fetch(maybeSecondRequest)) : (analytics.setData({ dispatchtype: "asset" /* ASSETS */ }), await env.ASSET_WORKER.fetch(request));
8737
+ if (env.CONFIG.invoke_user_worker_ahead_of_assets) {
8738
+ if (!env.CONFIG.has_user_worker)
8739
+ throw new Error(
8740
+ "Fetch for user worker without having a user worker binding"
8741
+ );
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));
8732
8745
  } catch (err) {
8733
8746
  throw err instanceof Error && analytics.setData({ error: err.message }), sentry && sentry.captureException(err), err;
8734
8747
  } finally {
8735
- analytics.setData({ requestTime: performance.now() - startTimeMs }), analytics.write(env.ENVIRONMENT, env.ANALYTICS);
8748
+ analytics.setData({ requestTime: performance.now() - startTimeMs }), analytics.write();
8736
8749
  }
8737
8750
  }
8738
8751
  };