@azure/monitor-opentelemetry-exporter 1.0.0-beta.8 → 1.0.0-beta.9
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/README.md +47 -9
- package/dist/index.js +294 -134
- package/dist-esm/src/config.js +1 -14
- package/dist-esm/src/config.js.map +1 -1
- package/dist-esm/src/export/base.js +20 -18
- package/dist-esm/src/export/base.js.map +1 -1
- package/dist-esm/src/export/metric.js +22 -8
- package/dist-esm/src/export/metric.js.map +1 -1
- package/dist-esm/src/export/trace.js +12 -1
- package/dist-esm/src/export/trace.js.map +1 -1
- package/dist-esm/src/generated/applicationInsightsClient.js +36 -3
- package/dist-esm/src/generated/applicationInsightsClient.js.map +1 -1
- package/dist-esm/src/generated/index.js +0 -1
- package/dist-esm/src/generated/index.js.map +1 -1
- package/dist-esm/src/generated/models/index.js +35 -0
- package/dist-esm/src/generated/models/index.js.map +1 -1
- package/dist-esm/src/index.js +1 -0
- package/dist-esm/src/index.js.map +1 -1
- package/dist-esm/src/platform/nodejs/httpSender.js +5 -8
- package/dist-esm/src/platform/nodejs/httpSender.js.map +1 -1
- package/dist-esm/src/platform/nodejs/persist/fileSystemHelpers.js +2 -1
- package/dist-esm/src/platform/nodejs/persist/fileSystemHelpers.js.map +1 -1
- package/dist-esm/src/platform/nodejs/persist/fileSystemPersist.js +10 -5
- package/dist-esm/src/platform/nodejs/persist/fileSystemPersist.js.map +1 -1
- package/dist-esm/src/sampling.js +81 -0
- package/dist-esm/src/sampling.js.map +1 -0
- package/dist-esm/src/utils/breezeUtils.js +3 -1
- package/dist-esm/src/utils/breezeUtils.js.map +1 -1
- package/dist-esm/src/utils/constants/applicationinsights.js +2 -1
- package/dist-esm/src/utils/constants/applicationinsights.js.map +1 -1
- package/dist-esm/src/utils/metricUtils.js +34 -20
- package/dist-esm/src/utils/metricUtils.js.map +1 -1
- package/dist-esm/src/utils/spanUtils.js +21 -11
- package/dist-esm/src/utils/spanUtils.js.map +1 -1
- package/package.json +14 -14
- package/types/monitor-opentelemetry-exporter.d.ts +94 -24
- package/dist-esm/src/generated/applicationInsightsClientContext.js +0 -34
- package/dist-esm/src/generated/applicationInsightsClientContext.js.map +0 -1
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ This exporter package assumes your application is [already instrumented](https:/
|
|
|
12
12
|
|
|
13
13
|
### Currently supported environments
|
|
14
14
|
|
|
15
|
-
- [LTS versions of Node.js](https://
|
|
15
|
+
- [LTS versions of Node.js](https://github.com/nodejs/release#release-schedule)
|
|
16
16
|
- Latest versions of Safari, Chrome, Edge, and Firefox.
|
|
17
17
|
|
|
18
18
|
See our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details.
|
|
@@ -31,14 +31,11 @@ const { AzureMonitorTraceExporter } = require("@azure/monitor-opentelemetry-expo
|
|
|
31
31
|
const { NodeTracerProvider } = require("@opentelemetry/sdk-trace-node");
|
|
32
32
|
const { BatchSpanProcessor } = require("@opentelemetry/sdk-trace-base");
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
|
|
35
35
|
const provider = new NodeTracerProvider({
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
ignoreOutgoingUrls: [new RegExp(/dc.services.visualstudio.com/i)]
|
|
40
|
-
}
|
|
41
|
-
}
|
|
36
|
+
resource: new Resource({
|
|
37
|
+
[SemanticResourceAttributes.SERVICE_NAME]: "basic-service",
|
|
38
|
+
}),
|
|
42
39
|
});
|
|
43
40
|
provider.register();
|
|
44
41
|
|
|
@@ -59,12 +56,53 @@ provider.addSpanProcessor(
|
|
|
59
56
|
|
|
60
57
|
### Metrics
|
|
61
58
|
|
|
62
|
-
|
|
59
|
+
Add the exporter to your existing OpenTelemetry tracer provider (`NodeTracerProvider` / `BasicTracerProvider`)
|
|
60
|
+
|
|
61
|
+
```js
|
|
62
|
+
const { MeterProvider, PeriodicExportingMetricReader } = require("@opentelemetry/sdk-metrics");
|
|
63
|
+
const { Resource } = require("@opentelemetry/resources");
|
|
64
|
+
const { SemanticResourceAttributes } = require("@opentelemetry/semantic-conventions");
|
|
65
|
+
const { AzureMonitorMetricExporter } = require("@azure/monitor-opentelemetry-exporter");
|
|
66
|
+
|
|
67
|
+
// Add the exporter into the MetricReader and register it with the MeterProvider
|
|
68
|
+
const provider = new MeterProvider();
|
|
69
|
+
const exporter = new AzureMonitorMetricExporter({
|
|
70
|
+
connectionString:
|
|
71
|
+
process.env["APPLICATIONINSIGHTS_CONNECTION_STRING"] || "<your connection string>",
|
|
72
|
+
});
|
|
73
|
+
const metricReaderOptions = {
|
|
74
|
+
exporter: exporter,
|
|
75
|
+
};
|
|
76
|
+
const metricReader = new PeriodicExportingMetricReader(metricReaderOptions);
|
|
77
|
+
provider.addMetricReader(metricReader);
|
|
78
|
+
);
|
|
79
|
+
```
|
|
63
80
|
|
|
64
81
|
### Logs
|
|
65
82
|
|
|
66
83
|
Coming Soon
|
|
67
84
|
|
|
85
|
+
### Sampling
|
|
86
|
+
|
|
87
|
+
You can enable sampling to limit the amount of telemetry records you receive. In order to enable correct sampling in Application Insights, use the `ApplicationInsightsSampler` as shown below.
|
|
88
|
+
|
|
89
|
+
```js
|
|
90
|
+
const { ApplicationInsightsSampler } = require("@azure/monitor-opentelemetry-exporter");
|
|
91
|
+
const { NodeTracerProvider } = require("@opentelemetry/sdk-trace-node");
|
|
92
|
+
const { BatchSpanProcessor } = require("@opentelemetry/sdk-trace-base");
|
|
93
|
+
|
|
94
|
+
// Sampler expects a sample rate of between 0 and 1 inclusive
|
|
95
|
+
// A rate of 0.75 means approximately 75 % of your traces will be sent
|
|
96
|
+
const aiSampler = new ApplicationInsightsSampler(0.75);
|
|
97
|
+
const provider = new NodeTracerProvider({
|
|
98
|
+
sampler: aiSampler,
|
|
99
|
+
resource: new Resource({
|
|
100
|
+
[SemanticResourceAttributes.SERVICE_NAME]: "basic-service",
|
|
101
|
+
}),
|
|
102
|
+
});
|
|
103
|
+
provider.register();
|
|
104
|
+
```
|
|
105
|
+
|
|
68
106
|
## Examples
|
|
69
107
|
|
|
70
108
|
For complete samples of a few champion scenarios, see the [`samples/`](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/monitor/monitor-opentelemetry-exporter/samples/) folder.
|