@mhubcloud/tms_core 3.2.0 → 3.3.0-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.
package/dist/index.js CHANGED
@@ -57,7 +57,10 @@ var crypto = __toESM(require("crypto"));
57
57
  var appInsights = __toESM(require("applicationinsights"));
58
58
  var aiClient = null;
59
59
  if (process.env.APPLICATIONINSIGHTS_CONNECTION_STRING || process.env.APPINSIGHTS_INSTRUMENTATIONKEY) {
60
- appInsights.setup().setAutoCollectDependencies(false).setAutoCollectConsole(true, false).setSendLiveMetrics(false).setAutoCollectRequests(false).setAutoCollectPerformance(false).setUseDiskRetryCaching(false).start();
60
+ const samplingLevel = process.env.Sampling ?? "12.5";
61
+ appInsights.setup().setAutoCollectDependencies(false).setAutoCollectConsole(true, false).setSendLiveMetrics(false).setAutoCollectRequests(false).setAutoCollectPerformance(false).setUseDiskRetryCaching(false);
62
+ appInsights.defaultClient.config.samplingPercentage = parseFloat(samplingLevel);
63
+ appInsights.start();
61
64
  aiClient = appInsights.defaultClient;
62
65
  }
63
66
  var EventPublisherBase = class {
@@ -89,11 +92,12 @@ function logMessage(level, message, properties) {
89
92
  properties
90
93
  });
91
94
  }
92
- function logEvent(publisher2, event, region) {
95
+ function logEvent(publisher2, event, region, sampling) {
93
96
  const properties = {
94
97
  publisher: publisher2,
95
98
  event,
96
- region
99
+ region,
100
+ sampling
97
101
  };
98
102
  logMessage(1, "Event dispatched to platform", properties);
99
103
  }
@@ -225,10 +229,10 @@ async function handlePlatformRequest({
225
229
  rawPlatformResponse,
226
230
  event.event
227
231
  );
228
- logEvent(source, event.event, event.region);
232
+ logEvent(source, event.event, event.region, process.env.Sampling);
229
233
  return processedPlatformResponse;
230
234
  } else {
231
- logEvent(source, event.event, event.region);
235
+ logEvent(source, event.event, event.region, process.env.Sampling);
232
236
  }
233
237
  }
234
238
  async function handleTestRequest(params) {
@@ -299,7 +303,8 @@ async function defaultPublisher(azureFunctionContext, serviceBusMessage, source,
299
303
  async function processMessage(message, log2, platformPublisher, trigger) {
300
304
  const logProperties = {
301
305
  source: platformPublisher.source,
302
- data: JSON.stringify(message)
306
+ data: JSON.stringify(message),
307
+ sampling: process.env.Sampling
303
308
  };
304
309
  const publishers = trigger(message, log2);
305
310
  if (!publishers.length) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mhubcloud/tms_core",
3
- "version": "3.2.0",
3
+ "version": "3.3.0-beta.1",
4
4
  "description": "Core function for mHub Cloud TMS publishers",
5
5
  "homepage": "https://mhubcloud.com/",
6
6
  "license": "Apache 2.0",
@@ -75,6 +75,7 @@ async function processMessage(
75
75
  const logProperties: Telemetry['properties'] = {
76
76
  source: platformPublisher.source,
77
77
  data: JSON.stringify(message),
78
+ sampling: process.env.Sampling,
78
79
  };
79
80
  const publishers = trigger(message, log);
80
81
  if (!publishers.length) {
@@ -16,6 +16,8 @@ if (
16
16
  process.env.APPLICATIONINSIGHTS_CONNECTION_STRING ||
17
17
  process.env.APPINSIGHTS_INSTRUMENTATIONKEY
18
18
  ) {
19
+ const samplingLevel = process.env.SamplingLevel ?? '12.5';
20
+
19
21
  appInsights
20
22
  .setup() // Set environment variable APPLICATIONINSIGHTS_CONNECTION_STRING, so setup() can be called w/o parameters
21
23
  .setAutoCollectDependencies(false)
@@ -23,8 +25,10 @@ if (
23
25
  .setSendLiveMetrics(false)
24
26
  .setAutoCollectRequests(false)
25
27
  .setAutoCollectPerformance(false)
26
- .setUseDiskRetryCaching(false)
27
- .start();
28
+ .setUseDiskRetryCaching(false);
29
+ appInsights.defaultClient.config.samplingPercentage =
30
+ parseFloat(samplingLevel);
31
+ appInsights.start();
28
32
  aiClient = appInsights.defaultClient;
29
33
  }
30
34
 
@@ -78,9 +82,10 @@ export function logEvent(
78
82
  region: string,
79
83
  ): void {
80
84
  const properties: Telemetry['properties'] = {
81
- publisher: publisher,
82
- event: event,
83
- region: region,
85
+ publisher,
86
+ event,
87
+ region,
88
+ sampling: process.env.SamplingLevel,
84
89
  };
85
90
  logMessage(1, 'Event dispatched to platform', properties);
86
91
  }
@@ -338,9 +343,7 @@ export async function handlePlatformRequest({
338
343
  rawPlatformResponse,
339
344
  event.event,
340
345
  );
341
-
342
346
  logEvent(source, event.event, event.region);
343
-
344
347
  return processedPlatformResponse;
345
348
  } else {
346
349
  logEvent(source, event.event, event.region);