@apollo/gateway 2.13.2 → 2.14.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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -23,7 +23,7 @@ Object.defineProperty(exports, "buildOperationContext", { enumerable: true, get:
23
23
  const executeQueryPlan_1 = require("./executeQueryPlan");
24
24
  Object.defineProperty(exports, "executeQueryPlan", { enumerable: true, get: function () { return executeQueryPlan_1.executeQueryPlan; } });
25
25
  const types_1 = require("./datasources/types");
26
- const RemoteGraphQLDataSource_1 = require("./datasources/RemoteGraphQLDataSource");
26
+ const datasources_1 = require("./datasources");
27
27
  const values_1 = require("graphql/execution/values");
28
28
  const query_planner_1 = require("@apollo/query-planner");
29
29
  const config_1 = require("./config");
@@ -173,6 +173,10 @@ class ApolloGateway {
173
173
  this.pollIntervalInMs = (_c = this.config) === null || _c === void 0 ? void 0 : _c.pollIntervalInMs;
174
174
  }
175
175
  this.validateConfigAndEmitWarnings();
176
+ if (process.env.APOLLO_TELEMETRY_DISABLED !== 'true' && process.env.APOLLO_TELEMETRY_DISABLED !== '1') {
177
+ const meterProvider = (0, opentelemetry_1.createDataCollectionExporter)();
178
+ this.toDispose.push(() => meterProvider.shutdown());
179
+ }
176
180
  this.logger.debug('Gateway successfully initialized (but not yet loaded)');
177
181
  this.state = { phase: 'initialized' };
178
182
  }
@@ -512,8 +516,8 @@ class ApolloGateway {
512
516
  }
513
517
  return this.config.buildService
514
518
  ? this.config.buildService(serviceDef)
515
- : new RemoteGraphQLDataSource_1.RemoteGraphQLDataSource({
516
- url: serviceDef.url,
519
+ : new datasources_1.RemoteGraphQLDataSource({
520
+ url: serviceDef.url
517
521
  });
518
522
  }
519
523
  createServices(services) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { Attributes, Exception, Span } from '@opentelemetry/api';
2
2
  import type { GatewayGraphQLRequestContext } from '@apollo/server-gateway-interface';
3
3
  import { OperationContext } from '../operationContext';
4
+ import { MeterProvider, PushMetricExporter } from '@opentelemetry/sdk-metrics';
4
5
  export type OpenTelemetryConfig = {
5
6
  includeDocument?: boolean;
6
7
  recordExceptions?: boolean | number;
@@ -29,4 +30,6 @@ export interface SpanAttributes extends Attributes {
29
30
  export declare function requestContextSpanAttributes(requestContext: GatewayGraphQLRequestContext, config: OpenTelemetryConfig | undefined): SpanAttributes;
30
31
  export declare function operationContextSpanAttributes(operationContext: OperationContext): SpanAttributes;
31
32
  export declare function recordExceptions(span: Span, exceptions: readonly Exception[], config: OpenTelemetryConfig | undefined): void;
33
+ export declare function createDataCollectionMeterProvider(metricExporter: PushMetricExporter): MeterProvider;
34
+ export declare function createDataCollectionExporter(): MeterProvider;
32
35
  //# sourceMappingURL=opentelemetry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"opentelemetry.d.ts","sourceRoot":"","sources":["../../src/utilities/opentelemetry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG;IAOhC,eAAe,CAAC,EAAE,OAAO,CAAC;IAa1B,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACrC,CAAA;AAED,oBAAY,sBAAsB;IAChC,OAAO,oBAAoB;IAC3B,IAAI,iBAAiB;IACrB,KAAK,kBAAkB;IACvB,eAAe,2BAA2B;IAC1C,OAAO,oBAAoB;IAC3B,QAAQ,qBAAqB;CAC9B;AAOD,oBAAY,2BAA2B;IACrC,gBAAgB,qBAAqB;IACrC,sBAAsB,2BAA2B;IACjD,iCAAiC,kBAAkB;IACnD,sBAAsB,2BAA2B;CAClD;AAGD,eAAO,MAAM,MAAM,qCAAsD,CAAC;AAE1E,MAAM,WAAW,cAAe,SAAQ,UAAU;IAIhD,CAAC,2BAA2B,CAAC,iCAAiC,CAAC,CAAC,EAAE,MAAM,CAAC;IACzE,CAAC,2BAA2B,CAAC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC;IAC9D,CAAC,2BAA2B,CAAC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC;IAC9D,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC;CACzD;AAED,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,4BAA4B,EAC5C,MAAM,EAAE,mBAAmB,GAAG,SAAS,GACtC,cAAc,CAgBhB;AAED,wBAAgB,8BAA8B,CAC5C,gBAAgB,EAAE,gBAAgB,GACjC,cAAc,CAShB;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,SAAS,SAAS,EAAE,EAChC,MAAM,EAAE,mBAAmB,GAAG,SAAS,QAqBxC"}
1
+ {"version":3,"file":"opentelemetry.d.ts","sourceRoot":"","sources":["../../src/utilities/opentelemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAGrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EACL,aAAa,EAEb,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAmBpC,MAAM,MAAM,mBAAmB,GAAG;IAOhC,eAAe,CAAC,EAAE,OAAO,CAAC;IAa1B,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACrC,CAAC;AAEF,oBAAY,sBAAsB;IAChC,OAAO,oBAAoB;IAC3B,IAAI,iBAAiB;IACrB,KAAK,kBAAkB;IACvB,eAAe,2BAA2B;IAC1C,OAAO,oBAAoB;IAC3B,QAAQ,qBAAqB;CAC9B;AAOD,oBAAY,2BAA2B;IACrC,gBAAgB,qBAAqB;IACrC,sBAAsB,2BAA2B;IACjD,iCAAiC,kBAAkB;IACnD,sBAAsB,2BAA2B;CAClD;AAGD,eAAO,MAAM,MAAM,qCAAsD,CAAC;AAO1E,MAAM,WAAW,cAAe,SAAQ,UAAU;IAIhD,CAAC,2BAA2B,CAAC,iCAAiC,CAAC,CAAC,EAAE,MAAM,CAAC;IACzE,CAAC,2BAA2B,CAAC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC;IAC9D,CAAC,2BAA2B,CAAC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC;IAC9D,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC;CACzD;AAED,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,4BAA4B,EAC5C,MAAM,EAAE,mBAAmB,GAAG,SAAS,GACtC,cAAc,CAgBhB;AAED,wBAAgB,8BAA8B,CAC5C,gBAAgB,EAAE,gBAAgB,GACjC,cAAc,CAShB;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,SAAS,SAAS,EAAE,EAChC,MAAM,EAAE,mBAAmB,GAAG,SAAS,QAqBxC;AAGD,wBAAgB,iCAAiC,CAAC,cAAc,EAAE,kBAAkB,GAAG,aAAa,CAuFnG;AAED,wBAAgB,4BAA4B,IAAI,aAAa,CAE5D"}
@@ -1,10 +1,44 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
5
28
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.recordExceptions = exports.operationContextSpanAttributes = exports.requestContextSpanAttributes = exports.tracer = exports.OpenTelemetryAttributeNames = exports.OpenTelemetrySpanNames = void 0;
29
+ exports.createDataCollectionExporter = exports.createDataCollectionMeterProvider = exports.recordExceptions = exports.operationContextSpanAttributes = exports.requestContextSpanAttributes = exports.tracer = exports.OpenTelemetryAttributeNames = exports.OpenTelemetrySpanNames = void 0;
7
30
  const api_1 = __importDefault(require("@opentelemetry/api"));
31
+ const node_cpu_count_1 = require("node-cpu-count");
32
+ const os = __importStar(require("node:os"));
33
+ const incubating_1 = require("@opentelemetry/semantic-conventions/incubating");
34
+ const sdk_metrics_1 = require("@opentelemetry/sdk-metrics");
35
+ const resource_detector_alibaba_cloud_1 = require("@opentelemetry/resource-detector-alibaba-cloud");
36
+ const resource_detector_aws_1 = require("@opentelemetry/resource-detector-aws");
37
+ const resource_detector_gcp_1 = require("@opentelemetry/resource-detector-gcp");
38
+ const resource_detector_azure_1 = require("@opentelemetry/resource-detector-azure");
39
+ const resources_1 = require("@opentelemetry/resources");
40
+ const exporter_metrics_otlp_http_1 = require("@opentelemetry/exporter-metrics-otlp-http");
41
+ const node_crypto_1 = require("node:crypto");
8
42
  var OpenTelemetrySpanNames;
9
43
  (function (OpenTelemetrySpanNames) {
10
44
  OpenTelemetrySpanNames["REQUEST"] = "gateway.request";
@@ -23,6 +57,10 @@ var OpenTelemetryAttributeNames;
23
57
  })(OpenTelemetryAttributeNames || (exports.OpenTelemetryAttributeNames = OpenTelemetryAttributeNames = {}));
24
58
  const { name, version } = require('../../package.json');
25
59
  exports.tracer = api_1.default.trace.getTracer(`${name}/${version}`);
60
+ const APOLLO_OTEL_ENDPOINT = "https://usage-reporting.api.apollographql.com";
61
+ const EXPORT_INTERVAL_SECONDS = 60 * 60;
62
+ const EXPORT_INTERVAL_MILLIS = 1000 * EXPORT_INTERVAL_SECONDS;
63
+ const SI_MEGA = 1000000;
26
64
  function requestContextSpanAttributes(requestContext, config) {
27
65
  const spanAttributes = {};
28
66
  if (requestContext.operationName) {
@@ -66,4 +104,84 @@ function recordExceptions(span, exceptions, config) {
66
104
  }
67
105
  }
68
106
  exports.recordExceptions = recordExceptions;
107
+ function createDataCollectionMeterProvider(metricExporter) {
108
+ const resource = (0, resources_1.detectResourcesSync)({
109
+ detectors: [
110
+ resource_detector_alibaba_cloud_1.alibabaCloudEcsDetector,
111
+ resource_detector_aws_1.awsEc2Detector,
112
+ resource_detector_aws_1.awsBeanstalkDetector,
113
+ resource_detector_aws_1.awsEcsDetector,
114
+ resource_detector_aws_1.awsEksDetector,
115
+ resource_detector_aws_1.awsLambdaDetector,
116
+ resource_detector_gcp_1.gcpDetector,
117
+ resource_detector_azure_1.azureVmDetector,
118
+ resource_detector_azure_1.azureFunctionsDetector,
119
+ resource_detector_azure_1.azureAppServiceDetector
120
+ ],
121
+ });
122
+ const meterProvider = new sdk_metrics_1.MeterProvider({
123
+ resource: resource.merge(new resources_1.Resource({
124
+ [incubating_1.ATTR_SERVICE_NAME]: 'gateway-js',
125
+ [incubating_1.ATTR_SERVICE_INSTANCE_ID]: (0, node_crypto_1.randomUUID)()
126
+ })),
127
+ readers: [
128
+ new sdk_metrics_1.PeriodicExportingMetricReader({
129
+ exporter: metricExporter,
130
+ exportIntervalMillis: EXPORT_INTERVAL_MILLIS,
131
+ }),
132
+ ],
133
+ });
134
+ const hostAttrs = resources_1.hostDetectorSync.detect().attributes;
135
+ const osAttrs = resources_1.osDetectorSync.detect().attributes;
136
+ const osType = osAttrs[incubating_1.ATTR_OS_TYPE];
137
+ const hostArch = hostAttrs[incubating_1.ATTR_HOST_ARCH];
138
+ const meter = meterProvider.getMeter("apollo/gateway-js");
139
+ const uptimeGauge = meter.createObservableGauge(incubating_1.METRIC_PROCESS_UPTIME, {
140
+ "description": "The uptime of the JS federation gateway running"
141
+ });
142
+ const instanceAttrs = {
143
+ [incubating_1.ATTR_OS_TYPE]: osType,
144
+ [incubating_1.ATTR_HOST_ARCH]: hostArch
145
+ };
146
+ if (osType === incubating_1.OS_TYPE_VALUE_LINUX) {
147
+ instanceAttrs["linux.distribution"] = osAttrs[incubating_1.ATTR_OS_NAME];
148
+ }
149
+ let uptime = 0;
150
+ uptimeGauge.addCallback((result) => {
151
+ result.observe(uptime, instanceAttrs);
152
+ uptime = uptime + EXPORT_INTERVAL_SECONDS;
153
+ });
154
+ const cpuFreqGauge = meter.createObservableGauge(incubating_1.METRIC_SYSTEM_CPU_FREQUENCY, {
155
+ "description": "The CPU frequency of the underlying instance the JS federation gateway is deployed to",
156
+ "unit": "Hz"
157
+ });
158
+ cpuFreqGauge.addCallback((result) => {
159
+ const cpus = os.cpus();
160
+ const average_frequency = os.cpus().map((a) => a.speed * SI_MEGA).reduce((partialSum, a) => partialSum + a, 0) / cpus.length;
161
+ result.observe(average_frequency);
162
+ });
163
+ const cpuCountGauge = meter.createObservableGauge(incubating_1.METRIC_SYSTEM_CPU_LOGICAL_COUNT, {
164
+ "description": "The number of CPUs reported by the instance the JS federation gateway is running on"
165
+ });
166
+ cpuCountGauge.addCallback((result) => {
167
+ result.observe((0, node_cpu_count_1.cpuCountSync)(), {
168
+ [incubating_1.ATTR_HOST_ARCH]: hostArch,
169
+ });
170
+ });
171
+ const totalMemoryGauge = meter.createObservableGauge(incubating_1.METRIC_SYSTEM_MEMORY_LIMIT, {
172
+ "description": "The amount of memory reported by the instance the JS federation gateway is running on",
173
+ "unit": "bytes"
174
+ });
175
+ totalMemoryGauge.addCallback((result) => {
176
+ result.observe(os.totalmem(), {
177
+ [incubating_1.ATTR_HOST_ARCH]: hostArch,
178
+ });
179
+ });
180
+ return meterProvider;
181
+ }
182
+ exports.createDataCollectionMeterProvider = createDataCollectionMeterProvider;
183
+ function createDataCollectionExporter() {
184
+ return createDataCollectionMeterProvider(new exporter_metrics_otlp_http_1.OTLPMetricExporter({ url: APOLLO_OTEL_ENDPOINT }));
185
+ }
186
+ exports.createDataCollectionExporter = createDataCollectionExporter;
69
187
  //# sourceMappingURL=opentelemetry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"opentelemetry.js","sourceRoot":"","sources":["../../src/utilities/opentelemetry.ts"],"names":[],"mappings":";;;;;;AAAA,6DAA+C;AA4B/C,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,qDAA2B,CAAA;IAC3B,+CAAqB,CAAA;IACrB,iDAAuB,CAAA;IACvB,oEAA0C,CAAA;IAC1C,qDAA2B,CAAA;IAC3B,uDAA6B,CAAA;AAC/B,CAAC,EAPW,sBAAsB,sCAAtB,sBAAsB,QAOjC;AAOD,IAAY,2BAKX;AALD,WAAY,2BAA2B;IACrC,oEAAqC,CAAA;IACrC,gFAAiD,CAAA;IACjD,kFAAmD,CAAA;IACnD,gFAAiD,CAAA;AACnD,CAAC,EALW,2BAA2B,2CAA3B,2BAA2B,QAKtC;AAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC3C,QAAA,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;AAY1E,SAAgB,4BAA4B,CAC1C,cAA4C,EAC5C,MAAuC;IAEvC,MAAM,cAAc,GAAmB,EAAE,CAAC;IAE1C,IAAI,cAAc,CAAC,aAAa,EAAE,CAAC;QACjC,cAAc,CACZ,2BAA2B,CAAC,iCAAiC,CAC9D,GAAG,cAAc,CAAC,aAAa,CAAC;QACjC,cAAc,CAAC,2BAA2B,CAAC,sBAAsB,CAAC;YAChE,cAAc,CAAC,aAAa,CAAC;IACjC,CAAC;IACD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,KAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QACrD,cAAc,CAAC,2BAA2B,CAAC,gBAAgB,CAAC;YAC1D,cAAc,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAnBD,oEAmBC;AAED,SAAgB,8BAA8B,CAC5C,gBAAkC;IAElC,MAAM,cAAc,GAAmB,EAAE,CAAC;IAE1C,IAAI,gBAAgB,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACzC,cAAc,CAAC,2BAA2B,CAAC,sBAAsB,CAAC;YAChE,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC;IACzC,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAXD,wEAWC;AAED,SAAgB,gBAAgB,CAC9B,IAAU,EACV,UAAgC,EAChC,MAAuC;IAEvC,MAAM,gBAAgB,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC;IAElD,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,KAAK,EAAE,CAAC;QACjE,OAAO;IACT,CAAC;IAED,IAAI,kBAAkB,CAAC;IAEvB,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC9B,kBAAkB,GAAG,UAAU,CAAC;IAClC,CAAC;SAAM,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;SAAM,CAAC;QACN,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;IAC5D,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;QAC3C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAxBD,4CAwBC"}
1
+ {"version":3,"file":"opentelemetry.js","sourceRoot":"","sources":["../../src/utilities/opentelemetry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apollo/gateway",
3
- "version": "2.13.2",
3
+ "version": "2.14.0",
4
4
  "description": "Apollo Gateway",
5
5
  "author": "Apollo <packages@apollographql.com>",
6
6
  "main": "dist/index.js",
@@ -25,9 +25,9 @@
25
25
  "access": "public"
26
26
  },
27
27
  "dependencies": {
28
- "@apollo/composition": "2.13.2",
29
- "@apollo/federation-internals": "2.13.2",
30
- "@apollo/query-planner": "2.13.2",
28
+ "@apollo/composition": "2.14.0",
29
+ "@apollo/federation-internals": "2.14.0",
30
+ "@apollo/query-planner": "2.14.0",
31
31
  "@apollo/server-gateway-interface": "^1.1.0",
32
32
  "@apollo/usage-reporting-protobuf": "^4.1.0",
33
33
  "@apollo/utils.createhash": "^2.0.0",
@@ -36,12 +36,22 @@
36
36
  "@apollo/utils.keyvaluecache": "^2.1.0",
37
37
  "@apollo/utils.logger": "^2.0.0",
38
38
  "@josephg/resolvable": "^1.0.1",
39
- "@opentelemetry/api": "^1.0.1",
39
+ "@opentelemetry/api": "^1.9.0",
40
+ "@opentelemetry/core": "^1.30.1",
41
+ "@opentelemetry/exporter-metrics-otlp-http": "^0.57.2",
42
+ "@opentelemetry/resources": "^1.30.1",
43
+ "@opentelemetry/resource-detector-alibaba-cloud": "0.30.1",
44
+ "@opentelemetry/resource-detector-aws": "1.12.0",
45
+ "@opentelemetry/resource-detector-azure": "0.6.1",
46
+ "@opentelemetry/resource-detector-gcp": "0.33.1",
47
+ "@opentelemetry/sdk-metrics": "^1.30.1",
48
+ "@opentelemetry/semantic-conventions": "^1.28.0",
40
49
  "@types/node-fetch": "^2.6.2",
41
50
  "async-retry": "^1.3.3",
42
51
  "loglevel": "^1.6.1",
43
52
  "make-fetch-happen": "^11.0.0 || ^15.0.3",
44
53
  "node-abort-controller": "^3.0.1",
54
+ "node-cpu-count": "^0.1.1",
45
55
  "node-fetch": "^2.6.7"
46
56
  },
47
57
  "peerDependencies": {
package/src/index.ts CHANGED
@@ -16,7 +16,7 @@ import {
16
16
  GraphQLDataSource,
17
17
  GraphQLDataSourceRequestKind,
18
18
  } from './datasources/types';
19
- import { RemoteGraphQLDataSource } from './datasources/RemoteGraphQLDataSource';
19
+ import { RemoteGraphQLDataSource } from './datasources';
20
20
  import { getVariableValues } from 'graphql/execution/values';
21
21
  import {
22
22
  QueryPlanner,
@@ -47,7 +47,8 @@ import {
47
47
  requestContextSpanAttributes,
48
48
  operationContextSpanAttributes,
49
49
  recordExceptions,
50
- OpenTelemetryAttributeNames
50
+ OpenTelemetryAttributeNames,
51
+ createDataCollectionExporter,
51
52
  } from './utilities/opentelemetry';
52
53
  import { addExtensions } from './schema-helper/addExtensions';
53
54
  import {
@@ -64,7 +65,12 @@ import {
64
65
  Supergraph,
65
66
  } from '@apollo/federation-internals';
66
67
  import { getDefaultLogger } from './logger';
67
- import {GatewayInterface, GatewayUnsubscriber, GatewayGraphQLRequestContext, GatewayExecutionResult} from '@apollo/server-gateway-interface';
68
+ import {
69
+ GatewayInterface,
70
+ GatewayUnsubscriber,
71
+ GatewayGraphQLRequestContext,
72
+ GatewayExecutionResult,
73
+ } from '@apollo/server-gateway-interface';
68
74
 
69
75
  type DataSourceMap = {
70
76
  [serviceName: string]: { url?: string; dataSource: GraphQLDataSource };
@@ -215,6 +221,12 @@ export class ApolloGateway implements GatewayInterface {
215
221
 
216
222
  this.validateConfigAndEmitWarnings();
217
223
 
224
+ // Users can opt out of Apollo collecting anonymous metrics using the same env variable as Rover/Router
225
+ if (process.env.APOLLO_TELEMETRY_DISABLED !== 'true' && process.env.APOLLO_TELEMETRY_DISABLED !== '1') {
226
+ const meterProvider = createDataCollectionExporter();
227
+ this.toDispose.push(() => meterProvider.shutdown());
228
+ }
229
+
218
230
  this.logger.debug('Gateway successfully initialized (but not yet loaded)');
219
231
  this.state = { phase: 'initialized' };
220
232
  }
@@ -738,7 +750,7 @@ export class ApolloGateway implements GatewayInterface {
738
750
  return this.config.buildService
739
751
  ? this.config.buildService(serviceDef)
740
752
  : new RemoteGraphQLDataSource({
741
- url: serviceDef.url,
753
+ url: serviceDef.url
742
754
  });
743
755
  }
744
756
 
@@ -782,6 +794,7 @@ export class ApolloGateway implements GatewayInterface {
782
794
  public executor = async (
783
795
  requestContext: GatewayGraphQLRequestContext,
784
796
  ): Promise<GatewayExecutionResult> => {
797
+
785
798
  return tracer.startActiveSpan(
786
799
  OpenTelemetrySpanNames.REQUEST,
787
800
  { attributes: requestContextSpanAttributes(requestContext, this.config.telemetry) },
@@ -1044,6 +1057,8 @@ export class ApolloGateway implements GatewayInterface {
1044
1057
  queryPlanner: this.queryPlanner,
1045
1058
  };
1046
1059
  }
1060
+
1061
+
1047
1062
  }
1048
1063
 
1049
1064
  ApolloGateway.prototype.onSchemaChange = deprecate(
@@ -1,7 +1,32 @@
1
- import opentelemetry from '@opentelemetry/api';
2
1
  import type { Attributes, Exception, Span } from '@opentelemetry/api';
2
+ import opentelemetry from '@opentelemetry/api';
3
3
  import type { GatewayGraphQLRequestContext } from '@apollo/server-gateway-interface';
4
+ import { cpuCountSync } from 'node-cpu-count';
5
+ import * as os from 'node:os';
4
6
  import { OperationContext } from '../operationContext';
7
+ import {ATTR_OS_TYPE, ATTR_HOST_ARCH, OS_TYPE_VALUE_LINUX, ATTR_OS_NAME, METRIC_SYSTEM_MEMORY_LIMIT, METRIC_SYSTEM_CPU_LOGICAL_COUNT, METRIC_SYSTEM_CPU_FREQUENCY, ATTR_SERVICE_NAME, ATTR_SERVICE_INSTANCE_ID, METRIC_PROCESS_UPTIME} from '@opentelemetry/semantic-conventions/incubating';
8
+ import {
9
+ MeterProvider,
10
+ PeriodicExportingMetricReader,
11
+ PushMetricExporter,
12
+ } from '@opentelemetry/sdk-metrics';
13
+ import { alibabaCloudEcsDetector } from '@opentelemetry/resource-detector-alibaba-cloud';
14
+ import {
15
+ awsBeanstalkDetector,
16
+ awsEc2Detector,
17
+ awsEcsDetector,
18
+ awsEksDetector,
19
+ awsLambdaDetector,
20
+ } from '@opentelemetry/resource-detector-aws';
21
+ import { gcpDetector } from '@opentelemetry/resource-detector-gcp';
22
+ import {
23
+ azureAppServiceDetector,
24
+ azureFunctionsDetector,
25
+ azureVmDetector,
26
+ } from '@opentelemetry/resource-detector-azure';
27
+ import { detectResourcesSync, hostDetectorSync, osDetectorSync, Resource } from '@opentelemetry/resources';
28
+ import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
29
+ import { randomUUID } from 'node:crypto';
5
30
 
6
31
  export type OpenTelemetryConfig = {
7
32
  /**
@@ -24,7 +49,7 @@ export type OpenTelemetryConfig = {
24
49
  * Defaults to `false`, meaning that no exceptions will be reported in any spans.
25
50
  */
26
51
  recordExceptions?: boolean | number;
27
- }
52
+ };
28
53
 
29
54
  export enum OpenTelemetrySpanNames {
30
55
  REQUEST = 'gateway.request',
@@ -50,6 +75,11 @@ export enum OpenTelemetryAttributeNames {
50
75
  const { name, version } = require('../../package.json');
51
76
  export const tracer = opentelemetry.trace.getTracer(`${name}/${version}`);
52
77
 
78
+ const APOLLO_OTEL_ENDPOINT = "https://usage-reporting.api.apollographql.com";
79
+ const EXPORT_INTERVAL_SECONDS = 60 * 60; // one hour
80
+ const EXPORT_INTERVAL_MILLIS = 1000 * EXPORT_INTERVAL_SECONDS;
81
+ const SI_MEGA = 1000000;
82
+
53
83
  export interface SpanAttributes extends Attributes {
54
84
  /**
55
85
  * @deprecated in favor of `graphql.operation.name`
@@ -119,3 +149,97 @@ export function recordExceptions(
119
149
  span.recordException(exception);
120
150
  }
121
151
  }
152
+
153
+ // Exposed for unit testing with a testable exporter
154
+ export function createDataCollectionMeterProvider(metricExporter: PushMetricExporter): MeterProvider {
155
+ // cloud resource detectors
156
+ const resource = detectResourcesSync({
157
+ detectors: [
158
+ alibabaCloudEcsDetector,
159
+ awsEc2Detector,
160
+ awsBeanstalkDetector,
161
+ awsEcsDetector,
162
+ awsEksDetector,
163
+ awsLambdaDetector,
164
+ gcpDetector,
165
+ azureVmDetector,
166
+ azureFunctionsDetector,
167
+ azureAppServiceDetector
168
+ ],
169
+ })
170
+
171
+ const meterProvider = new MeterProvider({
172
+ resource: resource.merge(
173
+ new Resource ({
174
+ [ATTR_SERVICE_NAME]: 'gateway-js',
175
+ [ATTR_SERVICE_INSTANCE_ID]: randomUUID()
176
+ }),
177
+ ),
178
+ readers: [
179
+ new PeriodicExportingMetricReader({
180
+ exporter: metricExporter,
181
+ exportIntervalMillis: EXPORT_INTERVAL_MILLIS,
182
+ }),
183
+ ],
184
+ })
185
+
186
+ // grab the host and OS attributes explicitly so we can create `linux.distribution`
187
+ const hostAttrs = hostDetectorSync.detect().attributes
188
+ const osAttrs = osDetectorSync.detect().attributes
189
+ const osType = osAttrs[ATTR_OS_TYPE]
190
+ const hostArch = hostAttrs[ATTR_HOST_ARCH]
191
+ const meter = meterProvider.getMeter("apollo/gateway-js")
192
+
193
+ const uptimeGauge = meter.createObservableGauge(METRIC_PROCESS_UPTIME, {
194
+ "description": "The uptime of the JS federation gateway running"
195
+ })
196
+
197
+ const instanceAttrs: Attributes = {
198
+ [ATTR_OS_TYPE]: osType,
199
+ [ATTR_HOST_ARCH]: hostArch
200
+ }
201
+ if (osType === OS_TYPE_VALUE_LINUX) {
202
+ instanceAttrs["linux.distribution"] = osAttrs[ATTR_OS_NAME];
203
+ }
204
+
205
+ let uptime = 0;
206
+ uptimeGauge.addCallback((result) => {
207
+ result.observe(uptime, instanceAttrs)
208
+ uptime = uptime + EXPORT_INTERVAL_SECONDS;
209
+ })
210
+
211
+ const cpuFreqGauge = meter.createObservableGauge(METRIC_SYSTEM_CPU_FREQUENCY, {
212
+ "description": "The CPU frequency of the underlying instance the JS federation gateway is deployed to",
213
+ "unit": "Hz"
214
+ })
215
+ cpuFreqGauge.addCallback((result) => {
216
+ const cpus = os.cpus();
217
+ const average_frequency = os.cpus().map((a) => a.speed * SI_MEGA).reduce((partialSum, a) => partialSum + a, 0) / cpus.length
218
+ result.observe(average_frequency)
219
+ })
220
+
221
+ const cpuCountGauge = meter.createObservableGauge(METRIC_SYSTEM_CPU_LOGICAL_COUNT, {
222
+ "description": "The number of CPUs reported by the instance the JS federation gateway is running on"
223
+ })
224
+ cpuCountGauge.addCallback((result) => {
225
+ result.observe(cpuCountSync(), {
226
+ [ATTR_HOST_ARCH]: hostArch,
227
+ })
228
+ })
229
+
230
+ const totalMemoryGauge = meter.createObservableGauge(METRIC_SYSTEM_MEMORY_LIMIT, {
231
+ "description": "The amount of memory reported by the instance the JS federation gateway is running on",
232
+ "unit": "bytes"
233
+ })
234
+ totalMemoryGauge.addCallback((result) => {
235
+ result.observe(os.totalmem(), {
236
+ [ATTR_HOST_ARCH]: hostArch,
237
+ })
238
+ })
239
+
240
+ return meterProvider
241
+ }
242
+
243
+ export function createDataCollectionExporter(): MeterProvider {
244
+ return createDataCollectionMeterProvider(new OTLPMetricExporter({ url: APOLLO_OTEL_ENDPOINT }));
245
+ }