@google-cloud/pubsub 4.3.1 → 4.3.3-otel-beta.1

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.
Files changed (56) hide show
  1. package/README.md +2 -0
  2. package/build/protos/google/pubsub/v1/pubsub.proto +8 -4
  3. package/build/protos/protos.d.ts +15 -0
  4. package/build/protos/protos.js +71 -5
  5. package/build/protos/protos.json +32 -1
  6. package/build/src/iam.d.ts +11 -2
  7. package/build/src/iam.js +12 -2
  8. package/build/src/iam.js.map +1 -1
  9. package/build/src/index.d.ts +2 -0
  10. package/build/src/index.js +5 -1
  11. package/build/src/index.js.map +1 -1
  12. package/build/src/lease-manager.d.ts +2 -2
  13. package/build/src/lease-manager.js +19 -3
  14. package/build/src/lease-manager.js.map +1 -1
  15. package/build/src/message-queues.d.ts +8 -3
  16. package/build/src/message-queues.js +17 -8
  17. package/build/src/message-queues.js.map +1 -1
  18. package/build/src/publisher/flow-publisher.js +5 -0
  19. package/build/src/publisher/flow-publisher.js.map +1 -1
  20. package/build/src/publisher/index.d.ts +3 -2
  21. package/build/src/publisher/index.js +23 -45
  22. package/build/src/publisher/index.js.map +1 -1
  23. package/build/src/publisher/message-batch.d.ts +7 -1
  24. package/build/src/publisher/message-batch.js +11 -1
  25. package/build/src/publisher/message-batch.js.map +1 -1
  26. package/build/src/publisher/message-queues.js +32 -6
  27. package/build/src/publisher/message-queues.js.map +1 -1
  28. package/build/src/publisher/pubsub-message.d.ts +36 -1
  29. package/build/src/publisher/pubsub-message.js +26 -1
  30. package/build/src/publisher/pubsub-message.js.map +1 -1
  31. package/build/src/pubsub.js +0 -14
  32. package/build/src/pubsub.js.map +1 -1
  33. package/build/src/subscriber.d.ts +72 -6
  34. package/build/src/subscriber.js +179 -51
  35. package/build/src/subscriber.js.map +1 -1
  36. package/build/src/subscription.d.ts +4 -2
  37. package/build/src/subscription.js +7 -4
  38. package/build/src/subscription.js.map +1 -1
  39. package/build/src/telemetry-tracing.d.ts +222 -0
  40. package/build/src/telemetry-tracing.js +543 -0
  41. package/build/src/telemetry-tracing.js.map +1 -0
  42. package/build/src/topic.d.ts +2 -1
  43. package/build/src/topic.js +8 -4
  44. package/build/src/topic.js.map +1 -1
  45. package/build/src/v1/publisher_client.d.ts +1 -2
  46. package/build/src/v1/publisher_client.js +10 -7
  47. package/build/src/v1/publisher_client.js.map +1 -1
  48. package/build/src/v1/schema_service_client.js +10 -7
  49. package/build/src/v1/schema_service_client.js.map +1 -1
  50. package/build/src/v1/subscriber_client.js +10 -7
  51. package/build/src/v1/subscriber_client.js.map +1 -1
  52. package/package.json +8 -7
  53. package/CHANGELOG.md +0 -1480
  54. package/build/src/opentelemetry-tracing.d.ts +0 -23
  55. package/build/src/opentelemetry-tracing.js +0 -42
  56. package/build/src/opentelemetry-tracing.js.map +0 -1
@@ -0,0 +1,543 @@
1
+ "use strict";
2
+ /*!
3
+ * Copyright 2020-2024 Google LLC
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.legacyExports = exports.extractSpan = exports.containsSpanContext = exports.injectSpan = exports.PubsubEvents = exports.PubsubSpans = exports.getTopicInfo = exports.getSubscriptionInfo = exports.legacyAttributeName = exports.modernAttributeName = exports.spanContextToContext = exports.pubsubSetter = exports.pubsubGetter = exports.PubsubMessageSet = exports.PubsubMessageGet = exports.PubsubMessageGetSet = exports.isEnabled = exports.OpenTelemetryLevel = void 0;
18
+ const api_1 = require("@opentelemetry/api");
19
+ // We need this to get the library version.
20
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
21
+ const packageJson = require('../../package.json');
22
+ /**
23
+ * Instantiates a Opentelemetry tracer for the library
24
+ *
25
+ * @private
26
+ */
27
+ let cachedTracer;
28
+ function getTracer() {
29
+ const tracer = cachedTracer !== null && cachedTracer !== void 0 ? cachedTracer : api_1.trace.getTracer('@google-cloud/pubsub', packageJson.version);
30
+ cachedTracer = tracer;
31
+ return cachedTracer;
32
+ }
33
+ /**
34
+ * Determination of the level of OTel support we're providing.
35
+ *
36
+ * @private
37
+ */
38
+ var OpenTelemetryLevel;
39
+ (function (OpenTelemetryLevel) {
40
+ /**
41
+ * None: OTel support is not enabled because we found no trace provider.
42
+ */
43
+ OpenTelemetryLevel[OpenTelemetryLevel["None"] = 0] = "None";
44
+ /**
45
+ * Legacy: We found a trace provider, but the user also specified the old
46
+ * manual enable flag; this will trigger the legacy attribute being included.
47
+ * The modern propagation attribute will _also_ be included.
48
+ */
49
+ OpenTelemetryLevel[OpenTelemetryLevel["Legacy"] = 1] = "Legacy";
50
+ /**
51
+ * Modern: We will only inject/extract the modern propagation attribute.
52
+ */
53
+ OpenTelemetryLevel[OpenTelemetryLevel["Modern"] = 2] = "Modern";
54
+ })(OpenTelemetryLevel || (exports.OpenTelemetryLevel = OpenTelemetryLevel = {}));
55
+ /**
56
+ * Tries to divine what sort of OpenTelemetry we're supporting. See the enum
57
+ * for the meaning of the values, and other notes.
58
+ *
59
+ * Legacy OTel is no longer officially supported, but we don't want to
60
+ * break anyone at a non-major.
61
+ *
62
+ * @private
63
+ */
64
+ function isEnabled(publishSettings) {
65
+ // If there's no trace provider attached, do nothing in any case.
66
+ const traceProvider = api_1.trace.getTracerProvider();
67
+ if (!traceProvider) {
68
+ return OpenTelemetryLevel.None;
69
+ }
70
+ if (publishSettings === null || publishSettings === void 0 ? void 0 : publishSettings.enableOpenTelemetryTracing) {
71
+ return OpenTelemetryLevel.Legacy;
72
+ }
73
+ return OpenTelemetryLevel.Modern;
74
+ }
75
+ exports.isEnabled = isEnabled;
76
+ /**
77
+ * Implements common members for the TextMap getter and setter interfaces for Pub/Sub messages.
78
+ *
79
+ * @private
80
+ */
81
+ class PubsubMessageGetSet {
82
+ keys(carrier) {
83
+ return Object.getOwnPropertyNames(carrier.attributes)
84
+ .filter(n => n.startsWith(PubsubMessageGetSet.keyPrefix))
85
+ .map(n => n.substring(PubsubMessageGetSet.keyPrefix.length));
86
+ }
87
+ attributeName(key) {
88
+ return `${PubsubMessageGetSet.keyPrefix}${key}`;
89
+ }
90
+ }
91
+ exports.PubsubMessageGetSet = PubsubMessageGetSet;
92
+ PubsubMessageGetSet.keyPrefix = 'googclient_';
93
+ /**
94
+ * Implements the TextMap getter interface for Pub/Sub messages.
95
+ *
96
+ * @private
97
+ */
98
+ class PubsubMessageGet extends PubsubMessageGetSet {
99
+ get(carrier, key) {
100
+ var _a;
101
+ return (_a = carrier === null || carrier === void 0 ? void 0 : carrier.attributes) === null || _a === void 0 ? void 0 : _a[this.attributeName(key)];
102
+ }
103
+ }
104
+ exports.PubsubMessageGet = PubsubMessageGet;
105
+ /**
106
+ * Implements the TextMap setter interface for Pub/Sub messages.
107
+ *
108
+ * @private
109
+ */
110
+ class PubsubMessageSet extends PubsubMessageGetSet {
111
+ set(carrier, key, value) {
112
+ if (!carrier.attributes) {
113
+ carrier.attributes = {};
114
+ }
115
+ carrier.attributes[this.attributeName(key)] = value;
116
+ }
117
+ }
118
+ exports.PubsubMessageSet = PubsubMessageSet;
119
+ /**
120
+ * The getter to use when calling extract() on a Pub/Sub message.
121
+ *
122
+ * @private
123
+ */
124
+ exports.pubsubGetter = new PubsubMessageGet();
125
+ /**
126
+ * The setter to use when calling inject() on a Pub/Sub message.
127
+ *
128
+ * @private
129
+ */
130
+ exports.pubsubSetter = new PubsubMessageSet();
131
+ /**
132
+ * Converts a SpanContext to a full Context, as needed.
133
+ *
134
+ * @private
135
+ */
136
+ function spanContextToContext(parent) {
137
+ return parent ? api_1.trace.setSpanContext(api_1.context.active(), parent) : undefined;
138
+ }
139
+ exports.spanContextToContext = spanContextToContext;
140
+ /**
141
+ * The modern propagation attribute name.
142
+ *
143
+ * Technically this is determined by the OpenTelemetry library, but
144
+ * in practice, it follows the W3C spec, so this should be the right
145
+ * one. The only thing we're using it for, anyway, is emptying user
146
+ * supplied attributes.
147
+ *
148
+ * @private
149
+ */
150
+ exports.modernAttributeName = 'googclient_traceparent';
151
+ /**
152
+ * The old legacy attribute name.
153
+ *
154
+ * @private
155
+ */
156
+ exports.legacyAttributeName = 'googclient_OpenTelemetrySpanContext';
157
+ /**
158
+ * Break down the subscription's full name into its project and ID.
159
+ *
160
+ * @private
161
+ */
162
+ function getSubscriptionInfo(fullName) {
163
+ const results = fullName.match(/projects\/([^/]+)\/subscriptions\/(.+)/);
164
+ if (!(results === null || results === void 0 ? void 0 : results[0])) {
165
+ return {
166
+ subName: fullName,
167
+ };
168
+ }
169
+ return {
170
+ subName: fullName,
171
+ projectId: results[1],
172
+ subId: results[2],
173
+ };
174
+ }
175
+ exports.getSubscriptionInfo = getSubscriptionInfo;
176
+ /**
177
+ * Break down the subscription's full name into its project and ID.
178
+ *
179
+ * @private
180
+ */
181
+ function getTopicInfo(fullName) {
182
+ const results = fullName.match(/projects\/([^/]+)\/topics\/(.+)/);
183
+ if (!(results === null || results === void 0 ? void 0 : results[0])) {
184
+ return {
185
+ topicName: fullName,
186
+ };
187
+ }
188
+ return {
189
+ topicName: fullName,
190
+ projectId: results[1],
191
+ topicId: results[2],
192
+ };
193
+ }
194
+ exports.getTopicInfo = getTopicInfo;
195
+ class PubsubSpans {
196
+ static createAttributes(params, message) {
197
+ var _a, _b, _c, _d;
198
+ const destinationName = (_a = params.topicName) !== null && _a !== void 0 ? _a : params.subName;
199
+ const destinationId = (_b = params.topicId) !== null && _b !== void 0 ? _b : params.subId;
200
+ const projectId = params.projectId;
201
+ // Purposefully leaving this debug check here as a comment - this should
202
+ // always be true, but we don't want to fail in prod if it's not.
203
+ /*if (
204
+ (params.topicName && params.subName) ||
205
+ (!destinationName && !projectId && !destinationId)
206
+ ) {
207
+ throw new Error(
208
+ 'One of topicName or subName must be specified, and must be fully qualified'
209
+ );
210
+ }*/
211
+ const spanAttributes = {
212
+ // Add Opentelemetry semantic convention attributes to the span, based on:
213
+ // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.1.0/specification/trace/semantic_conventions/messaging.md
214
+ ['messaging.system']: 'gcp_pubsub',
215
+ ['messaging.destination.name']: destinationId !== null && destinationId !== void 0 ? destinationId : destinationName,
216
+ ['gcp.project_id']: projectId,
217
+ };
218
+ if (message) {
219
+ if (message.calculatedSize) {
220
+ spanAttributes['messaging.message.envelope.size'] =
221
+ message.calculatedSize;
222
+ }
223
+ else {
224
+ if ((_c = message.data) === null || _c === void 0 ? void 0 : _c.length) {
225
+ spanAttributes['messaging.message.envelope.size'] =
226
+ (_d = message.data) === null || _d === void 0 ? void 0 : _d.length;
227
+ }
228
+ }
229
+ if (message.orderingKey) {
230
+ spanAttributes['messaging.gcp_pubsub.message.ordering_key'] =
231
+ message.orderingKey;
232
+ }
233
+ if (message.isExactlyOnceDelivery) {
234
+ spanAttributes['messaging.gcp_pubsub.message.exactly_once_delivery'] =
235
+ message.isExactlyOnceDelivery;
236
+ }
237
+ if (message.ackId) {
238
+ spanAttributes['messaging.gcp_pubsub.message.ack_id'] = message.ackId;
239
+ }
240
+ }
241
+ return spanAttributes;
242
+ }
243
+ static createPublisherSpan(message, topicName) {
244
+ const topicInfo = getTopicInfo(topicName);
245
+ const span = getTracer().startSpan(`${topicName} create`, {
246
+ kind: api_1.SpanKind.PRODUCER,
247
+ attributes: PubsubSpans.createAttributes(topicInfo, message),
248
+ });
249
+ if (topicInfo.topicId) {
250
+ span.updateName(`${topicInfo.topicId} create`);
251
+ span.setAttribute('messaging.destination.name', topicInfo.topicId);
252
+ }
253
+ return span;
254
+ }
255
+ static updatePublisherTopicName(span, topicName) {
256
+ const topicInfo = getTopicInfo(topicName);
257
+ if (topicInfo.topicId) {
258
+ span.updateName(`${topicInfo.topicId} create`);
259
+ span.setAttribute('messaging.destination.name', topicInfo.topicId);
260
+ }
261
+ else {
262
+ span.updateName(`${topicName} create`);
263
+ }
264
+ if (topicInfo.projectId) {
265
+ span.setAttribute('gcp.project_id', topicInfo.projectId);
266
+ }
267
+ }
268
+ static createReceiveSpan(message, subName, parent) {
269
+ var _a;
270
+ const subInfo = getSubscriptionInfo(subName);
271
+ const name = `${(_a = subInfo.subId) !== null && _a !== void 0 ? _a : subName} subscribe`;
272
+ const attributes = this.createAttributes(subInfo, message);
273
+ if (subInfo.subId) {
274
+ attributes['messaging.destination.name'] = subInfo.subId;
275
+ }
276
+ if (api_1.context) {
277
+ return getTracer().startSpan(name, {
278
+ kind: api_1.SpanKind.CONSUMER,
279
+ attributes,
280
+ }, parent);
281
+ }
282
+ else {
283
+ return getTracer().startSpan(name, {
284
+ kind: api_1.SpanKind.CONSUMER,
285
+ attributes,
286
+ });
287
+ }
288
+ }
289
+ static createChildSpan(name, message, parentSpan, attributes) {
290
+ var _a;
291
+ const parent = (_a = message === null || message === void 0 ? void 0 : message.parentSpan) !== null && _a !== void 0 ? _a : parentSpan;
292
+ if (parent) {
293
+ return getTracer().startSpan(name, {
294
+ kind: api_1.SpanKind.INTERNAL,
295
+ attributes: attributes !== null && attributes !== void 0 ? attributes : {},
296
+ }, spanContextToContext(parent.spanContext()));
297
+ }
298
+ else {
299
+ return undefined;
300
+ }
301
+ }
302
+ static createPublishFlowSpan(message) {
303
+ return PubsubSpans.createChildSpan('publisher flow control', message);
304
+ }
305
+ static createPublishSchedulerSpan(message) {
306
+ return PubsubSpans.createChildSpan('publisher batching', message);
307
+ }
308
+ static createPublishRpcSpan(messages, topicName) {
309
+ const spanAttributes = PubsubSpans.createAttributes(getTopicInfo(topicName));
310
+ const links = messages
311
+ .map(m => { var _a; return ({ context: (_a = m.parentSpan) === null || _a === void 0 ? void 0 : _a.spanContext() }); })
312
+ .filter(l => l.context);
313
+ const span = getTracer().startSpan(`${topicName} send`, {
314
+ kind: api_1.SpanKind.PRODUCER,
315
+ attributes: spanAttributes,
316
+ links,
317
+ }, api_1.ROOT_CONTEXT);
318
+ span === null || span === void 0 ? void 0 : span.setAttribute('messaging.batch.message_count', messages.length);
319
+ messages.forEach(m => {
320
+ // Workaround until the JS API properly supports adding links later.
321
+ if (m.parentSpan) {
322
+ m.parentSpan.setAttribute('messaging.gcp_pubsub.publish.trace_id', span.spanContext().traceId);
323
+ m.parentSpan.setAttribute('messaging.gcp_pubsub.publish.span_id', span.spanContext().spanId);
324
+ }
325
+ });
326
+ return span;
327
+ }
328
+ static createReceiveResponseRpcSpan(messageSpans, subName) {
329
+ const spanAttributes = PubsubSpans.createAttributes(getSubscriptionInfo(subName));
330
+ const links = messageSpans
331
+ .map(m => ({ context: m === null || m === void 0 ? void 0 : m.spanContext() }))
332
+ .filter(l => l.context);
333
+ const span = getTracer().startSpan(`${subName} response batch`, {
334
+ kind: api_1.SpanKind.CONSUMER,
335
+ attributes: spanAttributes,
336
+ links,
337
+ }, api_1.ROOT_CONTEXT);
338
+ span === null || span === void 0 ? void 0 : span.setAttribute('messaging.batch.message_count', messageSpans.length);
339
+ messageSpans.forEach(m => {
340
+ // Workaround until the JS API properly supports adding links later.
341
+ if (m) {
342
+ m.setAttribute('messaging.gcp_pubsub.receive.trace_id', span.spanContext().traceId);
343
+ m.setAttribute('messaging.gcp_pubsub.receive.span_id', span.spanContext().spanId);
344
+ }
345
+ });
346
+ return span;
347
+ }
348
+ static createReceiveFlowSpan(message) {
349
+ return PubsubSpans.createChildSpan('subscriber concurrency control', message);
350
+ }
351
+ static createReceiveSchedulerSpan(message) {
352
+ return PubsubSpans.createChildSpan('subscriber scheduler', message);
353
+ }
354
+ static createReceiveProcessSpan(message, subName) {
355
+ var _a;
356
+ const subInfo = getSubscriptionInfo(subName);
357
+ return PubsubSpans.createChildSpan(`${(_a = subInfo.subId) !== null && _a !== void 0 ? _a : subName} process`, message);
358
+ }
359
+ static setReceiveProcessResult(span, isAck) {
360
+ span.setAttribute('messaging.gcp_pubsub.result', isAck ? 'ack' : 'nack');
361
+ }
362
+ static createReceiveLeaseSpan(message, subName, type, deadline, isInitial) {
363
+ var _a;
364
+ const subInfo = getSubscriptionInfo(subName);
365
+ const span = PubsubSpans.createReceiveSpan(message, `${(_a = subInfo.subId) !== null && _a !== void 0 ? _a : subInfo.subName} ${type}`, undefined);
366
+ if (deadline) {
367
+ span === null || span === void 0 ? void 0 : span.setAttribute('messaging.gcp_pubsub.message.ack_deadline_seconds', deadline.totalOf('second'));
368
+ }
369
+ if (isInitial !== undefined) {
370
+ span === null || span === void 0 ? void 0 : span.setAttribute('messaging.gcp_pubsub.is_receipt_modack', isInitial);
371
+ }
372
+ return span;
373
+ }
374
+ }
375
+ exports.PubsubSpans = PubsubSpans;
376
+ /**
377
+ * Creates and manipulates Pub/Sub-related events on spans.
378
+ */
379
+ class PubsubEvents {
380
+ static addEvent(text, message, attributes) {
381
+ const parent = message.parentSpan;
382
+ if (!parent) {
383
+ return;
384
+ }
385
+ parent.addEvent(text, attributes);
386
+ }
387
+ static publishStart(message) {
388
+ PubsubEvents.addEvent('publish start', message);
389
+ }
390
+ static publishEnd(message) {
391
+ PubsubEvents.addEvent('publish end', message);
392
+ }
393
+ static ackStart(message) {
394
+ PubsubEvents.addEvent('ack start', message);
395
+ }
396
+ static ackEnd(message) {
397
+ PubsubEvents.addEvent('ack end', message);
398
+ }
399
+ static modackStart(message) {
400
+ PubsubEvents.addEvent('modack start', message);
401
+ }
402
+ static modackEnd(message) {
403
+ PubsubEvents.addEvent('modack end', message);
404
+ }
405
+ static nackStart(message) {
406
+ PubsubEvents.addEvent('nack start', message);
407
+ }
408
+ static nackEnd(message) {
409
+ PubsubEvents.addEvent('nack end', message);
410
+ }
411
+ static ackCalled(span) {
412
+ span.addEvent('ack called');
413
+ }
414
+ static nackCalled(span) {
415
+ span.addEvent('nack called');
416
+ }
417
+ static modAckCalled(span, deadline) {
418
+ // User-called modAcks are never initial ones.
419
+ span.addEvent('modack called', {
420
+ 'messaging.gcp_pubsub.modack_deadline_seconds': `${deadline.totalOf('second')}`,
421
+ 'messaging.gcp_pubsub.is_receipt_modack': 'false',
422
+ });
423
+ }
424
+ static modAckStart(message, deadline, isInitial) {
425
+ PubsubEvents.addEvent('modack start', message, {
426
+ 'messaging.gcp_pubsub.modack_deadline_seconds': `${deadline.totalOf('second')}`,
427
+ 'messaging.gcp_pubsub.is_receipt_modack': isInitial ? 'true' : 'false',
428
+ });
429
+ }
430
+ static modAckEnd(message) {
431
+ PubsubEvents.addEvent('modack end', message);
432
+ }
433
+ // Add this event any time the process is shut down before processing
434
+ // of the message can complete.
435
+ static shutdown(message) {
436
+ PubsubEvents.addEvent('shutdown', message);
437
+ }
438
+ }
439
+ exports.PubsubEvents = PubsubEvents;
440
+ /**
441
+ * Injects the trace context into a Pub/Sub message (or other object with
442
+ * an 'attributes' object) for propagation.
443
+ *
444
+ * This is for the publish side.
445
+ *
446
+ * @private
447
+ */
448
+ function injectSpan(span, message, enabled) {
449
+ if (!message.attributes) {
450
+ message.attributes = {};
451
+ }
452
+ if (message.attributes[exports.modernAttributeName]) {
453
+ console.warn(`${exports.modernAttributeName} key set as message attribute, but will be overridden.`);
454
+ delete message.attributes[exports.modernAttributeName];
455
+ }
456
+ // If we're in legacy mode, add that header as well.
457
+ if (enabled === OpenTelemetryLevel.Legacy) {
458
+ if (message.attributes[exports.legacyAttributeName]) {
459
+ console.warn(`${exports.legacyAttributeName} key set as message attribute, but will be overridden.`);
460
+ }
461
+ message.attributes[exports.legacyAttributeName] = JSON.stringify(span.spanContext());
462
+ }
463
+ // Always do propagation injection with the trace context.
464
+ const context = api_1.trace.setSpanContext(api_1.ROOT_CONTEXT, span.spanContext());
465
+ api_1.propagation.inject(context, message, exports.pubsubSetter);
466
+ // Also put the direct reference to the Span object for while we're
467
+ // passing it around in the client library.
468
+ message.parentSpan = span;
469
+ }
470
+ exports.injectSpan = injectSpan;
471
+ /**
472
+ * Returns true if this message potentially contains a span context.
473
+ *
474
+ * @private
475
+ */
476
+ function containsSpanContext(message) {
477
+ if (message.parentSpan) {
478
+ return true;
479
+ }
480
+ if (!message.attributes) {
481
+ return false;
482
+ }
483
+ const keys = Object.getOwnPropertyNames(message.attributes);
484
+ return !!keys.find(n => n === exports.legacyAttributeName || n === exports.modernAttributeName);
485
+ }
486
+ exports.containsSpanContext = containsSpanContext;
487
+ /**
488
+ * Extracts the trace context from a Pub/Sub message (or other object with
489
+ * an 'attributes' object) from a propagation, for receive processing. If no
490
+ * context was present, create a new parent span.
491
+ *
492
+ * This is for the receive side.
493
+ *
494
+ * @private
495
+ */
496
+ function extractSpan(message, subName, enabled) {
497
+ var _a, _b;
498
+ if (message.parentSpan) {
499
+ return message.parentSpan;
500
+ }
501
+ const keys = Object.getOwnPropertyNames((_a = message.attributes) !== null && _a !== void 0 ? _a : {});
502
+ let context;
503
+ if (enabled === OpenTelemetryLevel.Legacy) {
504
+ // Only prefer the legacy attributes to no trace context attribute.
505
+ if (keys.includes(exports.legacyAttributeName) &&
506
+ !keys.includes(exports.modernAttributeName)) {
507
+ const legacyValue = (_b = message.attributes) === null || _b === void 0 ? void 0 : _b[exports.legacyAttributeName];
508
+ if (legacyValue) {
509
+ const parentSpanContext = legacyValue
510
+ ? JSON.parse(legacyValue)
511
+ : undefined;
512
+ if (parentSpanContext) {
513
+ context = spanContextToContext(parentSpanContext);
514
+ }
515
+ }
516
+ }
517
+ }
518
+ else {
519
+ if (keys.includes(exports.modernAttributeName)) {
520
+ context = api_1.propagation.extract(api_1.ROOT_CONTEXT, message, exports.pubsubGetter);
521
+ }
522
+ }
523
+ const span = PubsubSpans.createReceiveSpan(message, subName, context);
524
+ message.parentSpan = span;
525
+ return span;
526
+ }
527
+ exports.extractSpan = extractSpan;
528
+ // Since these were exported on the main Pub/Sub index in the previous
529
+ // version, we have to export them until the next major.
530
+ exports.legacyExports = {
531
+ /**
532
+ * @deprecated
533
+ * Use the new telemetry functionality instead; see the updated OpenTelemetry
534
+ * sample for an example.
535
+ */
536
+ createSpan: function (spanName, kind, attributes, parent) {
537
+ return getTracer().startSpan(spanName, {
538
+ kind,
539
+ attributes,
540
+ }, parent ? api_1.trace.setSpanContext(api_1.context.active(), parent) : undefined);
541
+ },
542
+ };
543
+ //# sourceMappingURL=telemetry-tracing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry-tracing.js","sourceRoot":"","sources":["../../src/telemetry-tracing.ts"],"names":[],"mappings":"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"}
@@ -64,7 +64,6 @@ export type MessageOptions = PubsubMessage & {
64
64
  * ```
65
65
  */
66
66
  export declare class Topic {
67
- name: string;
68
67
  parent: PubSub;
69
68
  pubsub: PubSub;
70
69
  request: typeof PubSub.prototype.request;
@@ -73,6 +72,8 @@ export declare class Topic {
73
72
  publisher: Publisher;
74
73
  getSubscriptionsStream: () => ObjectStream<Subscription>;
75
74
  constructor(pubsub: PubSub, name: string, options?: PublishOptions);
75
+ private id_;
76
+ get name(): string;
76
77
  /**
77
78
  * Immediately sends all remaining queued data. This is mostly useful
78
79
  * if you are planning to call close() on the PubSub object that holds
@@ -47,12 +47,12 @@ class Topic {
47
47
  constructor(pubsub, name, options) {
48
48
  this.getSubscriptionsStream = paginator_1.paginator.streamify('getSubscriptions');
49
49
  /**
50
- * The fully qualified name of this topic.
50
+ * The fully qualified name of this topic. May have a placeholder for
51
+ * the projectId if it's not been resolved.
51
52
  * @name Topic#name
52
53
  * @type {string}
53
54
  */
54
- this.name = Topic.formatName_(pubsub.projectId, name);
55
- this.publisher = new publisher_1.Publisher(this, options);
55
+ this.id_ = name;
56
56
  /**
57
57
  * The parent {@link PubSub} instance of this topic instance.
58
58
  * @name Topic#pubsub
@@ -64,6 +64,7 @@ class Topic {
64
64
  * @type {PubSub}
65
65
  */
66
66
  this.parent = this.pubsub = pubsub;
67
+ this.publisher = new publisher_1.Publisher(this, options);
67
68
  this.request = pubsub.request.bind(pubsub);
68
69
  /**
69
70
  * [IAM (Identity and Access
@@ -108,7 +109,10 @@ class Topic {
108
109
  * });
109
110
  * ```
110
111
  */
111
- this.iam = new iam_1.IAM(pubsub, this.name);
112
+ this.iam = new iam_1.IAM(pubsub, this);
113
+ }
114
+ get name() {
115
+ return Topic.formatName_(this.parent.projectId, this.id_);
112
116
  }
113
117
  flush(callback) {
114
118
  // It doesn't matter here if callback is undefined; the Publisher
@@ -1 +1 @@
1
- {"version":3,"file":"topic.js","sourceRoot":"","sources":["../../src/topic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topic.js","sourceRoot":"","sources":["../../src/topic.ts"],"names":[],"mappings":"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"}
@@ -160,8 +160,7 @@ export declare class PublisherClient {
160
160
  * @param {google.pubsub.v1.Topic.State} request.state
161
161
  * Output only. An output-only field indicating the state of the topic.
162
162
  * @param {google.pubsub.v1.IngestionDataSourceSettings} [request.ingestionDataSourceSettings]
163
- * Optional. Settings for managed ingestion from a data source into this
164
- * topic.
163
+ * Optional. Settings for ingestion from a data source into this topic.
165
164
  * @param {object} [options]
166
165
  * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
167
166
  * @returns {Promise} - The promise which resolves to an array.