Compare commits

...

2125 Commits

Author SHA1 Message Date
Martin Costello f153e130b4
[Infra] Fix issue templates (#6455)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2025-09-04 10:06:15 -07:00
dependabot[bot] b659171101
Bump github/codeql-action from 3.29.11 to 3.30.0 (#6460)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-03 07:21:26 -07:00
Martin Costello 2a9c406b6d
[Infra] Simplify span slicing (#6456) 2025-08-28 12:14:14 -07:00
Martin Costello bab4b954cd
[OpenTelemetry] Fix assertion failures in debug (#6304)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-08-28 09:10:46 -07:00
OpenTelemetry Bot cd522d9081
Add subscript to issue templates (#6423)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-08-26 11:46:52 -07:00
Martin Costello 8321588b28
[infra] Use Artifacts Output layout (#6301)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-08-25 13:44:57 -07:00
dependabot[bot] 62162211ad
Bump github/codeql-action from 3.29.10 to 3.29.11 (#6450)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-25 09:02:49 -07:00
Martin Costello 7a4643a829
[OTLP] Set TE header for gRPC calls (#6449) 2025-08-22 08:39:37 -07:00
dependabot[bot] 84b3ca4e11
Bump codecov/codecov-action from 5.4.3 to 5.5.0 (#6448)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-20 11:59:43 -07:00
dependabot[bot] 0ebe718c70
Bump github/codeql-action from 3.29.6 to 3.29.10 (#6445)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2025-08-19 10:38:26 -07:00
dependabot[bot] a871f0fc68
Bump github/codeql-action from 3.29.6 to 3.29.9 (#6436)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-08-18 10:41:17 -07:00
dependabot[bot] 44f46b1656
Bump actions/checkout from 4.2.2 to 5.0.0 (#6437)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-08-18 10:01:09 -07:00
Martin Costello ca892e44a9
[Infra] Pin aiohttp (#6442)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-08-18 09:46:03 -07:00
dependabot[bot] a067b8f437
Bump ubuntu from `a08e551` to `7c06e91` in /test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests (#6438)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-08-18 09:27:49 -07:00
dependabot[bot] 2e73a2c468
Bump dotnet/aspnet from `6d8901f` to `6d40ae7` in /examples/MicroserviceExample/WebApi (#6439)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-08-18 09:04:16 -07:00
dependabot[bot] 4bab51a01a
Bump dotnet/sdk from `45e41fe` to `7fd287c` in /examples/MicroserviceExample/WebApi (#6440)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-15 17:16:31 -07:00
dependabot[bot] 81f29e6068
Bump github/codeql-action from 3.29.5 to 3.29.6 (#6433)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-08-07 21:41:44 -07:00
dependabot[bot] 583166cc71
Bump dotnet/aspnet from 8.0.18 to 8.0.19 in /examples/MicroserviceExample/WebApi (#6429)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: martincostello <martin@martincostello.com>
2025-08-07 20:59:46 -07:00
dependabot[bot] e2fdf99f52
Bump dotnet/sdk from 8.0.412 to 8.0.413 in /examples/MicroserviceExample/WebApi (#6428)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-06 22:48:22 -07:00
Cijo Thomas d2f8e54bb9
Self-diagnostics - support formatted message for better human readability (#6411)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-08-05 10:25:11 -07:00
dependabot[bot] 27234c2a14
Bump github/codeql-action from 3.29.4 to 3.29.5 (#6419)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-31 02:25:38 -07:00
Martin Costello 6b58da89e2
[Infra] Bump Cosign to v2.5.3 (#6417) 2025-07-30 10:03:29 -07:00
Martin Costello accfea63fe
[Infra] Improve CodeQL analysis (#6415)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-07-30 08:33:23 -07:00
Martin Costello 570a6fa687
[OTLP] Dispose exporter if setup fails (#6398)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-07-30 06:40:11 -07:00
Martin Costello 4dc60007ca
[Infra] Exclude keep-open label from stale (#6413)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-07-30 05:41:00 -07:00
Piotr Kiełkowicz e67ecf8164
[docs] Contributing - reporting bug/feature requests (#6414) 2025-07-30 05:26:53 -07:00
Piotr Kiełkowicz 98a8d38e8a
[infra] use env. var. to read github body comment (#6409) 2025-07-25 08:26:46 -07:00
dependabot[bot] e5b9a9a3db
Bump dotnet-sdk from 9.0.302 to 9.0.303 (#6402)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2025-07-24 22:53:27 -07:00
OpenTelemetry Bot be60150962
[infra] Add minimum token permissions for all github workflow files (#6357)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-07-24 03:50:45 -07:00
dependabot[bot] 7f111ea831
Bump dotnet/aspnet from `35095f3` to `fbc9110` in /examples/MicroserviceExample/WorkerService (#6399)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-07-24 01:49:19 -07:00
dependabot[bot] a8ef3e1888
Bump dotnet/sdk from `e6748a3` to `4763fe4` in /examples/MicroserviceExample/WorkerService (#6400)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-07-24 01:34:33 -07:00
dependabot[bot] 9480cb3e9a
Bump github/codeql-action from 3.29.3 to 3.29.4 (#6401)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-07-24 01:33:27 -07:00
dependabot[bot] b921486b67
Bump ubuntu from `c4570d2` to `a08e551` in /test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests (#6403)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-07-24 01:17:54 -07:00
dependabot[bot] 5ff15e58c1
Bump dotnet/sdk from `e6748a3` to `4763fe4` in /test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests (#6404)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-07-24 00:51:20 -07:00
dependabot[bot] 872ab2b80c
Bump dotnet/sdk from `e6748a3` to `4763fe4` in /test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/IntegrationTest (#6405)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-07-24 00:42:27 -07:00
dependabot[bot] 21af34df63
Bump dotnet/sdk from `3da7c41` to `3da7c41` in /examples/MicroserviceExample/WebApi (#6406)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-07-24 00:32:51 -07:00
dependabot[bot] 2b20ffc1ed
Bump dotnet/aspnet from `35095f3` to `fbc9110` in /examples/MicroserviceExample/WebApi (#6407)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-23 22:38:36 -07:00
Paulo Morgado 7ccfda242a
Refactor serialization error handling and buffer logic (#6392) 2025-07-22 13:07:42 -07:00
dependabot[bot] 6f805344dd
Bump github/codeql-action from 3.29.2 to 3.29.3 (#6393)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-21 19:37:30 -07:00
Martin Costello d8dfaa84a3
[OTLP] Refactor ProtobufSerializer.WriteReservedLength() to improve performance (#6367) 2025-07-21 06:16:07 -07:00
Martin Costello 361a1655b9
[Infra] Remove AssemblyInfo files (#6382)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-07-21 05:55:14 -07:00
Cijo Thomas a2679d5a6d
Improve Console Metric Exporter Output (#6388)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2025-07-21 03:50:00 -07:00
Cijo Thomas 0ad46df6cf
Add Martin Costello as Approver (#6383)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-07-19 23:19:19 -07:00
dependabot[bot] 393b5e04f3
Bump sigstore/cosign-installer from 3.9.1 to 3.9.2 (#6390)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-19 22:34:48 -07:00
dependabot[bot] 5963d1d710
Bump ubuntu from `440dcf6` to `c4570d2` in /test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests (#6381)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-07-17 09:37:42 -07:00
Cijo Thomas afe1a5bb11
Add explicit warning on ConsoleExporter (#6385)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-07-17 09:28:26 -07:00
Cijo Thomas 4e9e37fa35
Slight improvement to readability to Metric ConsoleExporter (#6384) 2025-07-17 09:23:15 -07:00
Martin Costello f8dc06acf2
Remove redundant test (#6369)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-07-14 17:03:46 -07:00
dependabot[bot] 869d9475ef
Bump dotnet-sdk from 9.0.300 to 9.0.302 (#6374)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-07-14 16:53:18 -07:00
dependabot[bot] 12b994ceda
Bump dotnet/sdk from 8.0.411 to 8.0.412 in /test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests (#6370)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-07-14 14:44:59 -07:00
dependabot[bot] 5a89e2cfe8
Bump dotnet/aspnet from 8.0.17 to 8.0.18 in /examples/MicroserviceExample/WorkerService (#6371)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-07-14 14:18:22 -07:00
dependabot[bot] cd796552ef
Bump dotnet/sdk from 8.0.411 to 8.0.412 in /examples/MicroserviceExample/WorkerService (#6372)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-07-14 14:17:15 -07:00
dependabot[bot] 42fe0738cb
Bump dotnet/sdk from 8.0.411 to 8.0.412 in /test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/IntegrationTest (#6373)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-07-14 13:02:30 -07:00
dependabot[bot] 796be6b4a9
Bump dotnet/sdk from 8.0.411 to 8.0.412 in /examples/MicroserviceExample/WebApi (#6375)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-07-14 11:28:51 -07:00
dependabot[bot] e58ee78c2d
Bump dotnet/aspnet from 8.0.17 to 8.0.18 in /examples/MicroserviceExample/WebApi (#6376)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-14 11:27:54 -07:00
dependabot[bot] 309ed2e7a8
Bump github/codeql-action from 3.29.1 to 3.29.2 (#6359)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-07-03 16:57:29 -07:00
dependabot[bot] 04a48b6033
Bump ubuntu from `b59d215` to `440dcf6` in /test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests (#6360)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-07-03 16:46:43 -07:00
dependabot[bot] 4eb55be9a9
Bump dotnet/sdk from `e6a5a8d` to `57c3bf9` in /test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests (#6361)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-07-03 16:43:59 -07:00
dependabot[bot] 19afd63555
Bump dotnet/aspnet from `d5c0d91` to `68669af` in /examples/MicroserviceExample/WebApi (#6362)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-07-03 16:30:10 -07:00
dependabot[bot] b76121e858
Bump dotnet/sdk from `e6a5a8d` to `57c3bf9` in /examples/MicroserviceExample/WebApi (#6363)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-07-03 16:28:45 -07:00
dependabot[bot] b83bc6800e
Bump dotnet/sdk from `e6a5a8d` to `57c3bf9` in /test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/IntegrationTest (#6364)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-07-03 16:26:36 -07:00
dependabot[bot] 7ed91a108f
Bump dotnet/aspnet from `d5c0d91` to `68669af` in /examples/MicroserviceExample/WorkerService (#6365)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-07-03 16:06:57 -07:00
dependabot[bot] 5acf77cf04
Bump dotnet/sdk from `e6a5a8d` to `57c3bf9` in /examples/MicroserviceExample/WorkerService (#6366)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-03 15:56:00 -07:00
dependabot[bot] 1479b236f7
Bump github/codeql-action from 3.29.0 to 3.29.1 (#6356)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-06-30 16:10:52 -07:00
OpenTelemetry Bot 05f74a4c36
Fix outdated community membership link (#6355)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-06-30 11:37:05 -07:00
Julius Koval a2bb510f79
Adding EventName to LogRecord (#6306)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-06-26 12:41:08 -07:00
Piotr Kiełkowicz 4f51654047
[repo] CLOMonitor - disable Artifact hub check (#6354)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-06-26 12:08:50 -07:00
Piotr Kiełkowicz bd434cc9ae
[repo] Enable analysis globally (#6344) 2025-06-26 12:05:16 -07:00
OpenTelemetry Bot e76e0f9f44
Update community member listings (#6351)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-06-25 21:54:00 -07:00
Piotr Kiełkowicz 3401b31085
[docs] Best practices badges (#6349) 2025-06-25 10:06:16 -07:00
dependabot[bot] 5f9b011c0f
Bump sigstore/cosign-installer from 3.9.0 to 3.9.1 (#6346)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-06-24 00:58:52 -07:00
Alexander Nikolaev e9cfc33fad
Add the default ports for Tempo in the example. (#6345) 2025-06-24 00:43:20 -07:00
Martin Costello 154a6dc10b
[W3C] Refactor W3C integration tests (#6328) 2025-06-19 08:49:07 -07:00
dependabot[bot] 21993b01a3
Bump dotnet/sdk from 8.0.410 to 8.0.411 in /examples/MicroserviceExample/WorkerService (#6336)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-18 11:24:20 -07:00
dependabot[bot] d324abb29d
Bump dotnet/sdk from 8.0.410 to 8.0.411 in /test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/IntegrationTest (#6337)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-18 11:23:43 -07:00
dependabot[bot] 7cad682002
Bump dotnet/aspnet from 8.0.16 to 8.0.17 in /examples/MicroserviceExample/WebApi (#6338)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-18 11:23:23 -07:00
dependabot[bot] 52edab3c8c
Bump dotnet/sdk from 8.0.410 to 8.0.411 in /test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests (#6339)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-06-18 11:23:00 -07:00
dependabot[bot] eb0ddd1273
Bump ubuntu from `7229784` to `b59d215` in /test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests (#6322)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-06-18 06:16:29 -07:00
Martin Costello dde8f4024b
[Infra] Avoid test flakiness (#6329) 2025-06-18 05:59:15 -07:00
Martin Costello e21e9ccd24
[Infra] Remove Source Link package (#6331)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-06-18 04:29:44 -07:00
dependabot[bot] a10f955cd9
Bump sigstore/cosign-installer from 3.8.2 to 3.9.0 (#6335)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-06-18 04:03:25 -07:00
Martin Costello 6c826c7176
[Infra] Remove redundant item (#6330)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-06-18 03:11:11 -07:00
dependabot[bot] 260e25271d
Bump github/codeql-action from 3.28.19 to 3.29.0 (#6318)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-06-18 02:30:05 -07:00
dependabot[bot] f067d0db96
Bump dotnet/aspnet from 8.0.16 to 8.0.17 in /examples/MicroserviceExample/WorkerService (#6340)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-17 14:26:05 -07:00
dependabot[bot] ed26d99bf5
Bump dotnet/sdk from 8.0.410 to 8.0.411 in /examples/MicroserviceExample/WebApi (#6341)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-17 14:25:07 -07:00
Martin Costello 78a71ebbf7
[Infra] Ignore major/minor Docker updates (#6326) 2025-06-17 14:21:26 -07:00
Martin Costello 3f86f47ac3
[Infra] Ensure .NET 8 is installed (#6313) 2025-06-11 16:32:11 -07:00
Martin Costello 4e84aa72dd
[Infra] Update Dockerfiles with dependabot (#6315) 2025-06-11 16:30:26 -07:00
Martin Costello b552c7f9bf
[w3c] Remove redundant RUN command (#6312) 2025-06-09 16:59:45 -07:00
Martin Costello 74352b8769
[infra] Use PublicApiAnalyzers from NuGet.org (#6311)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-06-09 11:36:00 -07:00
Martin Costello 1f9fa9ffe7
[infra] Remove obsolete compose attribute (#6310) 2025-06-09 11:27:01 -07:00
Valerio Arena 77e73ced3c
Introducing AddLink method in TelemetrySpan (#6305)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-06-09 10:22:08 -07:00
Martin Costello 15446598f6
[infra] Avoid port conflicts in tests (#6308)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-06-07 17:21:38 -07:00
Martin Costello ec554f9eb0
[infra] Fix line endings for shell scripts (#6309) 2025-06-07 14:10:57 -07:00
Martin Costello 9ecf6b77bc
[OpenTelemetry] Fix CA1305 warning (#6299)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-06-03 21:24:57 -07:00
Martin Costello fb4bb17b34
[infra] Ensure test-threadSafety.ps1 fails (#6302)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-06-03 16:30:26 -07:00
dependabot[bot] b884697d47
Bump github/codeql-action from 3.28.18 to 3.28.19 (#6303)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-03 13:50:05 -07:00
Rajkumar Rangaraj d5f6732118
Update Mothra affiliation (#6298) 2025-06-02 14:07:08 -07:00
dependabot[bot] 1065e43060
Bump ossf/scorecard-action from 2.4.1 to 2.4.2 (#6297)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-30 11:54:22 -07:00
dependabot[bot] 0ad6a95bf2
Bump dotnet-sdk from 9.0.203 to 9.0.300 (#6283)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-05-30 09:38:20 -07:00
Piotr Kiełkowicz 3c9beb896b
[OpenTelemetry] enable analysis - part 2 - final (#6279)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-05-29 15:03:40 -07:00
Simão Ribeiro 7abe983ac0
Add ConnectionRefused as transient network error so gRPC retry works when collector is down (#6259)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-05-27 22:39:49 -07:00
dependabot[bot] 844e148f68
Bump DavidAnson/markdownlint-cli2-action from 19.1.0 to 20.0.0 (#6285)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-05-27 22:12:04 -07:00
StepSecurity Bot 3f9b636f06
[StepSecurity] ci: Harden GitHub Actions (#6286)
Signed-off-by: StepSecurity Bot <bot@stepsecurity.io>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2025-05-27 21:40:26 -07:00
dependabot[bot] 6209ed8f80
Bump codecov/test-results-action from 1.1.0 to 1.1.1 (#6293)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-05-25 12:21:56 -07:00
Yevhenii Solomchenko 60a3839591
[Exporter.Zipkin] Update remote endpoint and remove the peer.service attribute (#6191)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2025-05-23 11:41:27 -07:00
Ivan Cherkashnev 805dd6b4ab
Clean up infinite explicit bucket bounds to prevent duplicate histogram bucket output (#6290)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-05-20 14:29:45 -07:00
dependabot[bot] 6828791c61
Bump github/codeql-action from 3.28.17 to 3.28.18 (#6288)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-05-19 15:15:12 -07:00
dependabot[bot] c638ef67cf
Bump codecov/codecov-action from 5.4.2 to 5.4.3 (#6289)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-19 14:46:21 -07:00
dependabot[bot] 6420be005b
Bump fossas/fossa-action from 1.6.0 to 1.7.0 (#6284)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-05-16 10:25:09 -07:00
彭伟 ee720ba3a3
[otlp] Correct initial write position for gRPC in .NET Framework OTLP exporters (#6280)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-05-15 21:33:39 -07:00
Piotr Kiełkowicz 8c1e63894f
[OpenTelemetry] enable analysis - part 1 (#6263) 2025-05-07 22:22:15 -07:00
dependabot[bot] 9c9d8585f3
Bump github/codeql-action from 3.28.16 to 3.28.17 (#6271)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-05-07 16:14:08 -07:00
Martin Costello c4268fe92b
[infra] Add GitHub Actions test logger (#6272)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-05-07 15:55:11 -07:00
OpenTelemetry Bot e371d7f02d
[release] Prepare release coreunstable-1.12.0-beta.1 (#6276) 2025-05-06 16:12:11 -07:00
Piotr Kiełkowicz 24a13ab91c
[OpenTelemetry.Tests] enable analysis (#6265) 2025-04-30 11:32:32 -07:00
OpenTelemetry Bot 2ec8931fc8
[release] Core stable release 1.12.0 updates (#6269) 2025-04-29 21:56:04 -07:00
OpenTelemetry Bot a67acd87d5
[release] Prepare release core-1.12.0 (#6268)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-04-29 13:45:34 -07:00
Piotr Kiełkowicz ceebd456f1
[Exporter.OpenTelemetry.Protocol.Tests] enable analysis (#6264) 2025-04-25 11:55:09 -07:00
Piotr Kiełkowicz 13ed63a88c
[Exporter.OpenTelemetryProtocol] enable analysis (#6251) 2025-04-24 11:49:15 -07:00
dependabot[bot] 0252f6ca0d
Bump sigstore/cosign-installer from 3.8.1 to 3.8.2 (#6261)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-04-23 21:34:14 -07:00
dependabot[bot] 4792d020f8
Bump github/codeql-action from 3.28.15 to 3.28.16 (#6260)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-04-23 18:44:13 -07:00
Piotr Kiełkowicz d5f44d0ae5
[Tests.Stress*] enable analysis (#6253) 2025-04-23 16:15:16 -07:00
Piotr Kiełkowicz fd1b5afd08
[Benchmarks] enable analysis (#6254)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-04-23 11:32:27 -07:00
Martin Costello 177596891a
Publish NuGet packages as GitHub Artifacts (#6255) 2025-04-22 14:03:09 -07:00
dependabot[bot] 1edcddbe00
Bump codecov/codecov-action from 5.4.0 to 5.4.2 (#6252)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2025-04-16 09:41:25 -07:00
Piotr Kiełkowicz 31fb3bdf35
[OpenTelemetry.Api.Tests] enable analysis (#6246)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-04-14 13:46:46 -07:00
Piotr Kiełkowicz ea70cd550d
[Exporter.OpenTelemetry.Protocol] update PersistentStorage (#6249) 2025-04-14 11:38:20 -07:00
dependabot[bot] ab32e39c14
Bump dotnet-sdk from 9.0.202 to 9.0.203 (#6243)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-04-10 12:20:37 -07:00
Yevhenii Solomchenko fbbe939dd4
[Examples.Microservice] migrate to Minimal Hosting Model (#6247) 2025-04-10 11:19:39 -07:00
Piotr Kiełkowicz 7c0eab2f42
[TestApp.AspNetCore] enable analysis (#6240)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-04-09 15:22:40 -07:00
Piotr Kiełkowicz 98b3986620
[OpenTelemetry.Api] enable analysis (#6206)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2025-04-09 13:43:15 -07:00
dependabot[bot] bb8abee277
Bump github/codeql-action from 3.28.14 to 3.28.15 (#6239)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-04-09 10:59:13 -07:00
Piotr Kiełkowicz ff009146a9
[Example/WorkerService] enable analysis (#6220)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-04-09 09:17:08 -07:00
Rajkumar Rangaraj aa73ce3aaf
[otlp] Remove Grpc.Core support for .NET Framework and .NET Standard 2.0 in OTLP exporter (#6229) 2025-04-08 12:09:30 -07:00
Piotr Kiełkowicz f183a6a11e
[Examples.Console] enable analysis (#6221)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-04-08 11:30:42 -07:00
Yevhenii Solomchenko 72f7348b57
[Examples.GrpcService] migrate to Minimal Hosting Model (#6225)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-04-08 09:54:20 -07:00
Piotr Kiełkowicz 6e6ce171e8
[repo] OpenSSF Scorecard - pin docker images to exact digest (#6230)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-04-07 16:49:40 -07:00
dependabot[bot] 04dd5d149c
Bump github/codeql-action from 3.28.12 to 3.28.14 (#6236)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-07 13:25:38 -07:00
Jean Bisutti 06ef55786a
Remove unused import (#6232)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-04-04 11:37:01 -07:00
Yevhenii Solomchenko 20988528fd
[OpenTelemetry] Improve memory efficiency in Dispose (#6212)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-04-04 10:56:59 -07:00
xiang17 180c9e84db
[Exporter.Console] Update otel-collector version to be compatible with debug exporter (#6223) 2025-04-02 16:03:53 -07:00
OpenTelemetry Bot 528d642b44
Add ossf-scorecard scanning workflow (#6218)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
2025-03-31 19:31:26 -07:00
Piotr Kiełkowicz 72a5f7c36e
[Example/WebApi] enable analysis (#6215) 2025-03-31 10:55:12 -07:00
Piotr Kiełkowicz 868ae707fc
[repo] GitHub Actions hardening (#6214) 2025-03-31 09:05:40 -07:00
Piotr Kiełkowicz 3e8c537192
[Examples/Utils] enable analysis (#6211) 2025-03-28 09:06:24 -07:00
Piotr Kiełkowicz 27116b2210
[AotCompatibility.TestApp] enable analysis (#6210) 2025-03-27 09:06:58 -07:00
Piotr Kiełkowicz a8ede4bdc5
[documentation] fix links to internal example (#6207) 2025-03-26 11:35:21 -07:00
Piotr Kiełkowicz f63f8d93f8
[Extensions.Hosting.Tests] enable analysis (#6204)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-03-25 20:05:43 -07:00
Piotr Kiełkowicz 242cebabfc
[W3cTraceContext.Tests] enable analysis (#6202)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-03-25 11:00:12 -07:00
Piotr Kiełkowicz c1472c76fd
[Examples.AspNetCore] enable analysis (#6193)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-03-25 10:34:21 -07:00
dependabot[bot] 6c69fb2b8c
Bump fossas/fossa-action from 1.5.0 to 1.6.0 (#6201)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-03-24 20:52:56 -07:00
Jakub Januszkiewicz d01e7f9699
[Exporter.Console] use Environment.NewLine instead of hardcoded LF in console exporters (#6203) 2025-03-24 16:01:24 -07:00
Piotr Kiełkowicz 89e5999e69
[Exporter.Console] enable analysis (#6195)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-03-21 13:24:42 -07:00
nima nikoonazar 99b686e1ad
[Exporter.OTLP] Optimize GetHeaders by Spans (#6179)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: xiang17 <xili9@microsoft.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-03-21 11:49:14 -07:00
Ali Mahboubi 647f1b17a1
[Api] support for adding default tags to tracer (#6137)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2025-03-21 10:28:34 -07:00
dependabot[bot] 402ed87689
Bump dotnet-sdk from 9.0.201 to 9.0.202 (#6196)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-03-20 15:23:03 -07:00
Piotr Kiełkowicz 3be15201d7
[repo] Remove unused PackageVersion definitions (#6197) 2025-03-20 15:07:32 -07:00
Piotr Kiełkowicz 807aa26d20
[Exporter.Zipkin] - enable analysis (#6189)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-03-18 12:17:12 -07:00
Piotr Kiełkowicz aa5b0423ff
[Extensions.Propagators] enable analysis (#6192) 2025-03-18 11:50:53 -07:00
Piotr Kiełkowicz 643e80ef53
[repo] Standardize Tests file names (#6190) 2025-03-17 12:56:56 -07:00
Piotr Kiełkowicz a8f1076e4d
[Exporter.Prometheus] - enable analysis (#6171)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-03-13 14:43:18 -07:00
Piotr Kiełkowicz 5635e6b8d6
[Exporter.Zipkin] Unskip ErrorGettingUriFromEnvVarSetsDefaultEndpointValue test (#6184)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-03-13 14:24:47 -07:00
Piotr Kiełkowicz 2862c884e0
[Examples.GrpcService] enable analysis (#6186)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-03-13 14:09:52 -07:00
dependabot[bot] 13a06da855
Bump dotnet-sdk from 9.0.200 to 9.0.201 (#6182)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-03-13 13:52:09 -07:00
Martin Costello cc2ffdad5b
[repo] codecov - Fix workflow warning (#6185) 2025-03-13 11:26:40 -07:00
Piotr Kiełkowicz c977f73246
[Shims.OpenTracing] enable code analysis (#6160)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-03-11 14:55:03 -07:00
Piotr Kiełkowicz 8943733bcd
[Exporter.InMemory] - enable analysis (#6165) 2025-03-11 11:00:53 -07:00
Marcin Jahn 796f49bcfd
Update docs in BatchExportProcessorOptions.cs (#6177)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2025-03-07 09:02:11 -08:00
Martin Costello 9b83e7bf09
Update OpenTelemetry.Api CHANGELOG (#6172) 2025-03-05 09:45:42 -08:00
OpenTelemetry Bot 4af4abd7c9
[release] Prepare release coreunstable-1.11.2-beta.1 (#6170) 2025-03-04 16:20:03 -08:00
OpenTelemetry Bot 0c53d9f7dd
[release] Core stable release 1.11.2 updates (#6169) 2025-03-04 14:51:54 -08:00
OpenTelemetry Bot 7f2eb92952
[release] Prepare release core-1.11.2 (#6166) 2025-03-04 13:53:31 -08:00
Piotr Kiełkowicz 2ea6e04dab
[repo] ProviderBuilderExtensions.Tests - AnalysisLevel latest-all (#6156)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-03-03 21:02:58 -08:00
Steve Gordon 1b555c1201
Revert TraceContextPropagator performance refactor from 5749 (#6161) 2025-03-03 11:55:52 -08:00
Timothy Mothra 577337c992
[OTLP] include status code in failure log (#6154) 2025-02-28 08:56:04 -08:00
Piotr Kiełkowicz 752172890c
[repo] Bump test packages (#6157) 2025-02-26 12:03:17 -08:00
Simon Cropp 71e6cb49aa
use some collection expressions (#6106)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-02-25 10:00:09 -08:00
Piotr Kiełkowicz ec9f76127e
[otlp] changelog cleanup (#6153) 2025-02-25 09:44:41 -08:00
Matt Hensley 7b076c64b0
[otlp] Change serialization of null protobuf values (#6149)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-02-24 18:46:15 -08:00
Mikel Blanchard e5f65ca696
[repo] Move Blanch to approver (#6145) 2025-02-21 12:08:24 -08:00
OpenTelemetry Bot 0aba0cdc26
Add FOSSA scanning workflow (#6136)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2025-02-19 10:41:46 -08:00
Simon Cropp c643b7fb22
[repo] remove incorrect null suppressions (#6075)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2025-02-14 09:41:12 -08:00
Simon Cropp 62af9ad84f
remove some array and list allocations (#6133) 2025-02-13 11:43:22 -08:00
dependabot[bot] 3c62f6b1b1
Bump dotnet-sdk from 9.0.102 to 9.0.200 (#6131)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-12 11:31:37 -08:00
Simon Cropp 8f17a0ea54
remove redundant ?? string.Empty in GetSampler (#6078)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-02-11 17:04:04 -08:00
Simon Cropp 41e1a59eb9
Increase use of NotNullWhen polyfill (#6090)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-02-11 15:03:29 -08:00
Piotr Kiełkowicz 720d610fa8
[repo] Use public ARM64 runners (#6128)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2025-02-11 09:56:49 -08:00
Piotr Kiełkowicz 89ba8073d8
[docs] prometheus example - update feature flag to support OTLP receiver (#6130) 2025-02-11 08:33:59 -08:00
Pent Ploompuu 71abd4169b
[repo] Small cleanup/simplification (#6048)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2025-02-08 12:38:51 -08:00
Simon Cropp 0c26ce2b3b
remove redundant isDisposing pattern in StressTest (#6082)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-02-05 18:28:26 -08:00
Simon Cropp c99f9a1d6d
remove redundant instrumentations != null checks (#6091)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-02-05 18:15:01 -08:00
Rajkumar Rangaraj 36b777b16f
[otlp] Fix incorrect length handling of Status.Description exceeding 127 bytes (#6119)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2025-01-31 16:15:30 -08:00
Simon Cropp cccf1ec3b7
fix incorrect as usage in MessageReceiver (#6105)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-01-31 09:53:07 -08:00
Alan West 0cfbf86a8c
[repo] Add Rajkumar Rangaraj as maintainer (#6114) 2025-01-30 10:50:22 -08:00
Simon Cropp 89ea5c6698
[repo] Replace some fields with auto properties (#6104)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2025-01-27 13:58:32 -08:00
Simon Cropp c44984ef93
[repo] Clean up unused variables (#6100)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2025-01-27 10:08:25 -08:00
Mikel Blanchard e5a7095daa
[repo] Fix tests reliant on bugged sampling behavior (#6097)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2025-01-27 09:50:53 -08:00
Simon Cropp cd8cb41d9f
[repo/tests] use some utf8 string literals (#6107) 2025-01-27 09:37:40 -08:00
Simon Cropp b508b84676
[Exporter.Prometheus] remove redundant if in WriteUnicodeNoEscape (#6077)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2025-01-24 10:49:16 -08:00
Simon Cropp 275a4463cf
[repo] remove redundant interpolation (#6098)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2025-01-24 09:34:54 -08:00
Simon Cropp 8fa00cb9d6
[repo] move PooledList to Zipkin (#6092) 2025-01-24 09:21:21 -08:00
Rajkumar Rangaraj 2828321d1b
[otlp] Fix .NET Framework gRPC Export Client Default Success Response Status (#6099) 2025-01-23 16:53:30 -08:00
Mikel Blanchard 292953799b
[repo] Add "release details" links in release notes (#6096) 2025-01-23 12:07:15 -08:00
Mikel Blanchard db828ceb44
[docs] Tweak releasing guide for new automation around release notes (#6089) 2025-01-23 10:53:27 -08:00
OpenTelemetry Bot ef090adab3
[release] Core stable release 1.11.1 updates (#6088)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2025-01-22 17:17:13 -08:00
Mikel Blanchard feba0d40fa
[repo] Release notes automation tweak (#6087) 2025-01-22 17:04:23 -08:00
OpenTelemetry Bot e3855e80b8
[release] Prepare release core-1.11.1 (#6086)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2025-01-22 14:47:42 -08:00
Rajkumar Rangaraj 7037824da6
[otlp] Fix issues with exporting using gRPC in .NET Framework apps (#6083)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2025-01-22 13:02:39 -08:00
Simon Cropp d9864b1e1d
[sdk] Remove redundant NotNullWhen in SelfDiagnosticsConfigParser.TryParseLogDirectory (#6073)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2025-01-21 18:37:23 -08:00
Simon Cropp 54f7d9eb87
[sdk] Simplify dispose code in SelfDiagnostics (#6072)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2025-01-21 17:56:36 -08:00
Simon Cropp 6e8e190039
[repo] remove ci-concurrency from sln items (#6071)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2025-01-21 16:50:44 -08:00
Simon Cropp 48e5a0804b
[api-logs] Remove unneeded if check in LogRecordAttributeList (#6076)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2025-01-21 16:02:56 -08:00
dependabot[bot] fdca498b44
Bump DavidAnson/markdownlint-cli2-action from 19.0.0 to 19.1.0 (#6081)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-21 15:51:21 -08:00
Mikel Blanchard c5acd9f1d3
[repo] Release notes automation (#6070) 2025-01-21 15:39:17 -08:00
Mikel Blanchard dcdaaae6e3
[docs] Add exception logging best practices (#6037) 2025-01-16 11:02:16 -08:00
OpenTelemetry Bot f7df3e1714
[release] Prepare release coreunstable-1.11.0-beta.1 (#6065) 2025-01-16 09:54:42 -08:00
OpenTelemetry Bot 75d947c58f
[release] Core stable release 1.11.0 updates (#6064) 2025-01-15 18:27:18 -08:00
OpenTelemetry Bot 837e852232
[release] Prepare release core-1.11.0 (#6063)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2025-01-15 16:06:45 -08:00
Mikel Blanchard 3d1f74db5a
[sdk-tracing] Allow samplers to set TraceState for propagation-only spans (#6058) 2025-01-15 10:47:29 -08:00
dependabot[bot] 17bbd834e5
Bump dotnet-sdk from 9.0.101 to 9.0.102 (#6061)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2025-01-15 10:35:51 -08:00
Mikel Blanchard 90dd82c382
[docs-metrics] Link to advice guide in docs (#6062) 2025-01-15 10:24:26 -08:00
Mikel Blanchard cd31c57af5
[repo] Trigger builds when SDK is changed (#6050) 2025-01-06 11:27:17 -08:00
dependabot[bot] 6100452988
Bump DavidAnson/markdownlint-cli2-action from 18.0.0 to 19.0.0 (#6044)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-31 11:36:25 -08:00
Dudi Likvornik 7ae7b131e8
[sdk-metrics] Include Meter.Tags in metric identity resolution (#5982)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-12-26 10:38:21 -08:00
Cijo Thomas 408a52d62f
[repo] Breakdown emeritus into roles in main README (#6038) 2024-12-19 11:27:39 -08:00
Piotr Kiełkowicz 7d7d37ae42
[shared] Bump OTLP proto files to 1.5.0 (#6039) 2024-12-18 10:01:11 -08:00
Piotr Kiełkowicz 29068585a1
[Exporter.OpenTelemetryProtocol] Remove PeerServiceResolver from compilation (#6032)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-12-17 13:39:06 -08:00
Piotr Kiełkowicz c3bb89ae50
[repo] Pin Ubuntu to 22.04 (#6036) 2024-12-17 10:30:14 -08:00
Cijo Thomas e0a10f7890
Minor improvements to example doc (#6033) 2024-12-16 11:29:16 -08:00
David Ashpole c94c422e31
[prometheus] Update links to openmetrics to reference the v1.0.0 release (#6029) 2024-12-13 13:11:49 -08:00
Mikel Blanchard 8e6d814f0f
[repo] Add dependabot.yml to solution (#6028) 2024-12-13 12:20:04 -08:00
dependabot[bot] ad4e80e282
Bump DavidAnson/markdownlint-cli2-action from 16.0.0 to 18.0.0 (#6027)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-12-13 12:08:55 -08:00
dependabot[bot] fc9de8b9bc
Bump codecov/codecov-action from 4 to 5 (#6025)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-13 11:40:08 -08:00
dependabot[bot] f69d9c53e5
Bump dotnet-sdk from 9.0.100 to 9.0.101 (#6026)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-13 11:26:03 -08:00
OpenTelemetry Bot a6582704cd
[release] Prepare release core-1.11.0-rc.1 (#6021) 2024-12-11 14:55:15 -08:00
Rajkumar Rangaraj 80287c061e
[otlp] Enable OTLP exporter for multiple registrations (#6020) 2024-12-11 14:08:10 -08:00
Rajkumar Rangaraj 1f39623af5
[otlp] Avoid filling new buffer on expansion (#6019) 2024-12-10 22:19:03 -08:00
Rajkumar Rangaraj 75a683eab7
[otlp] Update changelog / Remove OtlpExporter resource modification code (#6015)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-12-10 13:23:31 -08:00
Rajkumar Rangaraj be8209987b
[otlp] Expand array buffer / add tests to existing base buffer (#6013)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-12-10 12:42:08 -08:00
Mikel Blanchard 145e7ade6f
[repo] Allow dependabot to bump SDK patch version (#6011) 2024-12-06 09:22:05 -08:00
Rajkumar Rangaraj 305597d9d5
[otlp] Fix TODOs, Refactor Buffer Size Handling, and Cleanup Environment Variables (#6009)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-12-05 11:04:12 -08:00
Timothy Mothra 0c775e58fa
[otlp] refactor constants (#6010) 2024-12-03 13:57:57 -08:00
Utkarsh Umesan Pillai 44bc90a25b
[repo] Move Utkarsh to Emeritus (#6008)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2024-12-03 10:29:40 -08:00
Rajkumar Rangaraj b9be07a27d
[otlp] Remove the Google.Protobuf / Grpc packages, and replace the logs and metrics with the new implementation (#6005)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-12-02 16:21:30 -08:00
Rajkumar Rangaraj 84e6afbeba
[otlp] Replace the current trace implementation with the new one (#6003) 2024-11-27 14:28:38 -08:00
Mikel Blanchard 7eeddf5f22
[otlp] Refactor shared protobuf otlp export client code into a base class (#6001) 2024-11-27 11:37:55 -08:00
Rajkumar Rangaraj 88d2ad60bb
[otlp] Grpc Status check and retry (#6000)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-11-26 11:10:03 -08:00
Rajkumar Rangaraj f9a0b4c657
[otlp] Buffer Size Handling with Retry Logic and OTLP Signal Path (#5988) 2024-11-22 13:03:40 -08:00
Mikel Blanchard e3665c95c2
[otlp] Fix ProtobufOtlpLogSerializer pool handling (#5989) 2024-11-18 15:27:50 -08:00
Rajkumar Rangaraj 4bc398f9d1
[otlp] Deserialize GrpcStatusDetailsHeader to Retrieve Grpc Retry Delay (#5980)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-11-18 11:39:16 -08:00
Rajkumar Rangaraj 68c79a3bfd
[otlp] Add Grpc vendored code (#5981) 2024-11-18 11:25:50 -08:00
Utkarsh Umesan Pillai 913bccfdfc
[perf] Update Stress Test to avoid false sharing (#5985) 2024-11-18 09:45:13 -08:00
Rajkumar Rangaraj 2ae01a73fe
[otlp] Add Log and Mertic Exporter to transmit custom serialized data (#5977)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-11-15 09:05:52 -08:00
Rajkumar Rangaraj 1e7397e779
[otlp] Add Trace Exporter to transmit custom serialized data. (#5969)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-11-14 12:36:34 -08:00
Timothy Mothra b201d709c1
[otlp] OTLP Exporter Custom serializer - (Part 3) Outstanding TODOs (#5975)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-11-14 11:14:25 -08:00
Cijo Thomas 74fc70e8eb
[docs] Document links maybe added after Activity creation (#5972) 2024-11-12 22:08:12 -08:00
OpenTelemetry Bot a5fa611774
[release] Prepare release coreunstable-1.10.0-beta.1 (#5971) 2024-11-12 13:52:15 -08:00
OpenTelemetry Bot 60a683986a
[release] Core stable release 1.10.0 updates (#5970) 2024-11-12 13:46:13 -08:00
OpenTelemetry Bot 626b30e127
[release] Prepare release core-1.10.0 (#5968) 2024-11-12 12:58:56 -08:00
Mikel Blanchard 8ae945345f
[repo] Updates for .NET 9 release (#5967) 2024-11-12 12:42:14 -08:00
Tom Tan 6fbae0d655
[docs] Add digital signing section with sigstore details (#5961)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-11-12 10:57:27 -08:00
Timothy Mothra ae3feb9bcd
[otlp] OTLP Exporter Custom serializer - (Part 2) Histogram and Exponential Histogram (#5962) 2024-11-12 10:04:25 -08:00
Mikel Blanchard d113ecfbed
[docs-metrics] Add content for histogram bucket configuration via advice api (#5965) 2024-11-11 12:28:33 -08:00
Mikel Blanchard 2aae6e12d4
[tests] Clean up class structure in metrics tests (#5960) 2024-11-08 18:58:57 -08:00
Timothy Mothra 60445836cc
[otlp] OTLP Exporter Custom serializer - (Part 1) Counter and Gauge (#5958) 2024-11-08 15:29:33 -08:00
Reiley Yang e3b920c0da
Move Reiley Yang 🐇 to Emeritus👋 (#5959)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-11-08 10:13:38 -08:00
Mikel Blanchard 8c1cd6488e
[docs] Tweaks for stable metric point reclaim (#5957) 2024-11-08 10:05:36 -08:00
xiang17 112e17f50e
[sdk-metrics] Stablize MetricPoint reclaim feature for delta aggregation (#5956) 2024-11-07 15:03:16 -08:00
Alan West 1e1201ad02
[repo] Add Rajkumar Rangaraj as approver (#5953)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-11-05 17:02:19 -08:00
Mikel Blanchard 4b56c5f567
[otlp] Remove the direct dependency on Microsoft.Extensions.Configuration.Binder (#5951) 2024-11-04 13:04:35 -08:00
Mikel Blanchard 53b85ceef9
[otlp] Custom serialzer resource tweaks (#5947) 2024-11-04 11:39:28 -08:00
OpenTelemetry Bot 47aff6264e
[release] Prepare release core-1.10.0-rc.1 (#5949) 2024-11-01 14:51:08 -07:00
Mikel Blanchard 7c0f24c177
[sdk] Expose the ctor on Batch<T> which accepts a single item (#5642)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2024-11-01 14:10:00 -07:00
Rajkumar Rangaraj ed1b27f592
[otlp] Update TraceSerializer to use attributes / dropped from state. (#5946)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-10-31 17:19:25 -07:00
Mikel Blanchard dc7f1ebb6f
[otlp] OTLP Exporter Custom serializer - Log Scopes (#5945) 2024-10-31 16:58:37 -07:00
Rajkumar Rangaraj 1fc0ebcceb
[otlp] OTLP Exporter Custom serializer - Logs (#5941) 2024-10-31 11:42:05 -07:00
xiang17 09b654ec41
[docs] Update verb tense grammar for CHANGELOGs (#5940)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-10-31 10:27:45 -07:00
Mikel Blanchard 956f62146c
[repo] Add content for 1.10.0 to release notes (#5937) 2024-10-31 10:18:44 -07:00
Rajkumar Rangaraj 6fa4492a70
[otlp] OTLP Exporter Custom serializer - Complete Traces (#5930)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-10-30 11:29:41 -07:00
Mikel Blanchard 858737cdb0
[console] Support ActivitySource.Tags (#5935) 2024-10-30 09:48:42 -07:00
Tom Tan 451a94b2d0
[docs] Fix sample code in README (#5933) 2024-10-29 10:04:55 -07:00
Tom Tan 84ff215a5d
[BUILD] Signing OpenTelemetry .NET DLLs Using Sigstore certificate (#5880)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-10-28 15:31:21 -07:00
Rajkumar Rangaraj d45060b434
[otlp] OTLP Exporter Custom serializer - Spans (#5928)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-10-28 10:08:30 -07:00
xiang17 8de335c486
[sdk-metrics] Promote cardinality limit view API from experimental to stable (#5926)
Co-authored-by: Rajkumar Rangaraj <rajrang@microsoft.com>
2024-10-28 09:51:10 -07:00
xiang17 9f41eadf03
[sdk-metrics] Promote overflow attribute from experimental to stable (#5909)
Co-authored-by: Reiley Yang <reyang@microsoft.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-10-25 10:58:18 -07:00
Rajkumar Rangaraj 5efc683279
[otlp] OTLP Exporter Custom serializer Part 2 - Resources (#5916)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-10-25 09:46:33 -07:00
Weihan Li 5dff99f8a0
[shared] Use nameof for CallerArgumentExpression in Guard helpers (#5917) 2024-10-22 17:46:00 -07:00
Mikel Blanchard 25a9366679
[sdk-metrics] Fix a race condition when a metric is deactivated and re-activated in the same collection cycle (#5908)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2024-10-21 14:40:11 -07:00
Rajkumar Rangaraj 0eebf97a4b
[otlp] OTLP Exporter Custom serializer Part 1 - WritingPrimitives (#5910)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-10-21 12:53:42 -07:00
Piotr Kiełkowicz f1f2664021
[Examples.AspNetCore] Bump OTel Collector to 0.111.0 (#5913) 2024-10-21 10:30:53 -07:00
Sandy Chen 0343715f49
Improve Integration Test by Generating TLS/mTLS Certificates via MSBuild (#5818)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-10-16 18:22:19 -07:00
Rajkumar Rangaraj cddc09127f
[otlp] Export instrumentation scope attributes from ActivitySource.Tags (#5897)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-10-15 15:42:26 -07:00
Richard Chukwu 963ec41598
[repo] Add RELEASENOTES and READMEs to NuGet packages (#5885)
Co-authored-by: Reiley Yang <reyang@microsoft.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-10-15 13:01:10 -07:00
Timothy Mothra dba7d251f6
[repo] Update stale.yml - reduce days before stale to 300 (#5902) 2024-10-14 14:35:26 -07:00
joegoldman2 bb832226d3
[sdk-metrics] Use FrozenSet when looking up explicit bounds (#5899)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-10-14 10:50:59 -07:00
Piotr Kiełkowicz 1a68b49ed6
[repo] cleanup #nullable disable (#5901)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-10-14 09:24:06 -07:00
Piotr Kiełkowicz 8df7670dd1
[docs] Nullable annotations (#5900) 2024-10-14 09:09:59 -07:00
Yevhenii Solomchenko f3cd0e7ac4
[Tests] Nullable (#5882)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-10-11 12:31:35 -07:00
Yevhenii Solomchenko 36d5900be0
[Examples] Nullable (#5881)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-10-11 11:27:43 -07:00
Cijo Thomas b0ebf3518c
[docs-metrics] Improve View documentation to show its additive nature (#5896) 2024-10-10 14:15:16 -07:00
Mikel Blanchard 331e1267b6
[repo] Directory.Packages.props cleanup (#5886) 2024-10-10 09:30:46 -07:00
Reiley Yang 2499ecdf8e
[docs] Clarify the position regarding bot generated and AI-assisted PRs (#5894) 2024-10-09 23:50:52 -07:00
Mikel Blanchard 9b08508541
[repo] Mitigate vulnerabilities in System.Text.Json 8.0.4 package (#5891) 2024-10-08 12:45:14 -07:00
Rajkumar Rangaraj 66c2e4b778
[sdk] Support split reads in OTEL_DIAGNOSTICS.json config file parser logic (#5884)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2024-10-08 12:13:18 -07:00
Timothy Mothra a55a5ac997
[repo] Update stale.yml - reduce days before stale to 450 (#5888) 2024-10-07 16:26:10 -07:00
Mikel Blanchard 5106e3082f
[repo] Remove implicit using tweak as it is no longer needed (#5887)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2024-10-06 09:39:57 -07:00
Yevhenii Solomchenko 02f4b2d978
[Benchmarks] Nullabe (#5875)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-10-04 14:20:03 -07:00
Mikel Blanchard 25d99a56bf
[repo] Mitigate vulnerabilities in System.Text.Json 8.0.0 packages (#5874) 2024-10-04 13:38:15 -07:00
Yevhenii Solomchenko 19e1663c1e
[Extensions.Hosting.Tests] Nullable (#5862)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-10-01 14:16:32 -07:00
OpenTelemetry Bot f5023550bc
[release] Prepare release core-1.10.0-beta.1 (#5871) 2024-09-30 14:00:22 -07:00
Paulo Ferreira 1aa101bbcf
[docs] Fix RecordAndSample typo (#5870)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-09-30 11:50:12 -07:00
Rajkumar Rangaraj f4e392301f
[sdk-metrics] Support .NET 9 Synchronous Gauge (#5867)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-09-30 11:41:21 -07:00
Piotr Kiełkowicz cc0b9e9d0f
[docs] README - Fix links to membership descriptions (#5865) 2024-09-26 09:00:16 -07:00
Mikel Blanchard 9cca0ac8f1
[repo] Add Mothra as a triager (#5864) 2024-09-25 13:25:25 -07:00
Mikel Blanchard c8a8913152
[repo] Take advantage of System.Threading.Lock when compiling against .NET9 (#5861) 2024-09-24 14:47:16 -07:00
Yevhenii Solomchenko c1f1c167d2
[Api] Nullable (#5801)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-09-24 14:31:04 -07:00
Mikel Blanchard 2097f477f3
[api] Context nullable annotations (#5850) 2024-09-24 13:52:51 -07:00
Piotr Kiełkowicz 3a09a91b1c
Cleanup W3CTraceContextTests (#5858)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-09-24 11:23:12 -07:00
Yevhenii Solomchenko 12a8ab0f45
[api] Mark ActivityExtensions.RecordException obsolete (#5841)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-09-24 10:44:10 -07:00
Timothy Mothra 3c38a4b00b
[repo] Update stale.yml - reduce days before stale to 600 (#5857) 2024-09-24 09:49:06 -07:00
Rajkumar Rangaraj d650352b8f
[sdk-metrics] Add support for .NET 9 Advice API (#5854)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
Co-authored-by: Reiley Yang <reyang@microsoft.com>
2024-09-23 15:32:46 -07:00
Mikel Blanchard 1c02da746e
[docs] Contributing updates (#5856) 2024-09-23 15:06:20 -07:00
Robert Coltheart 60b7d9baf3
[prometheus] Support meter-level tags (#5837)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2024-09-23 09:56:38 -07:00
Rajkumar Rangaraj c1a1931319
[repo] Update the System.Diagnostics.DiagnosticSource and Microsoft.Extensions.* packages to .NET 9.0 RC.1 (#5853) 2024-09-20 12:51:14 -07:00
Piotr Kiełkowicz 86c1d8c2b3
[repo] Simplify preprocessor directives after dropping support for .NET 6 and .NET7 (#5851)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-09-20 09:21:00 -07:00
Piotr Kiełkowicz b941f1e4d6
[docs] Typo fixes (double the) (#5852) 2024-09-20 09:09:52 -07:00
Rajkumar Rangaraj cd01f932a6
[repo] Replace .NET6 target with .NET9 (#5832)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2024-09-19 17:32:10 -07:00
Mikel Blanchard 6e1b5ab577
[api] Baggage nullable annotations (#5840) 2024-09-19 13:14:57 -07:00
Yevhenii Solomchenko 1c01770882
[Shims, W3C.Tests] Nullable (#5797)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-09-16 15:03:39 -07:00
Mikel Blanchard 9b83188ccd
[console, in-memory] Tweak nullable annotations in registration extensions (#5833) 2024-09-16 11:52:30 -07:00
Yevhenii Solomchenko 82b1fbd760
[Exporter.Prometheus] Nullable (#5791)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-09-13 20:45:28 -07:00
Yevhenii Solomchenko 6194d9bb17
[repo] How to maintain PublicApi files (#5823)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-09-12 13:05:49 -07:00
benon lukyamuzi 2b43c096f8
[zipkin\otlp] Call SendAsync on mobile (#5821)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-09-12 10:23:56 -07:00
Yevhenii Solomchenko 29798920da
[repo] Add Linux ARM64 to actions CI (#5824)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-09-12 10:08:54 -07:00
Timothy Mothra f7e2a78f4f
[repo] remove questions template and redirect to discussions (#5827)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-09-12 09:53:57 -07:00
Piotr Kiełkowicz 2d6b03f296
[repo] Always execute build-test step in CI workflow (#5828) 2024-09-12 09:22:09 -07:00
Yevhenii Solomchenko dd7405654f
[Exporter.Zipkin] Nullable (#5792)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-09-11 13:07:48 -07:00
Timothy Mothra 37535a5607
[repo] Update stale.yml - reduce days before stale to 900 (#5822) 2024-09-09 14:37:22 -07:00
Vishwesh Bankwar b46aae4dff
[repo] Move Vishwesh to Emeritus approver (#5817) 2024-09-09 11:38:42 -07:00
xiang17 dc8d3fd991
[repo] Add .NET 8 target for W3C Trace Context Integration Test in CI (#5800)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2024-09-04 10:15:03 -07:00
Piotr Kiełkowicz 1479686a6e
[sdk] Improve readability of TracerProviderSdk initialization code (#5810)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-09-04 09:49:34 -07:00
Piotr Kiełkowicz 104c9f0e82
[repo] Extend NugetAudit by indirect references (#5812) 2024-09-04 09:34:20 -07:00
xiang17 685b73d3ac
[docs] Fix OTLP Collector config in example app (#5811) 2024-08-30 09:08:07 -07:00
Cijo Thomas 1a83643284
[benchmarks.logging] Use source generator pattern (#5807)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-08-29 11:51:44 -07:00
Mikel Blanchard f3a22c3022
[otlp] Workaround DI containers which create unregistered services (#5808) 2024-08-29 10:28:28 -07:00
Piotr Kiełkowicz ba8a0e4c13
[Propagators] Nullable annotations (#5767) 2024-08-28 09:56:15 -07:00
Yevhenii Solomchenko 1b3f1894d9
[api] Mark SetStatus & GetStatus ActivityExtensions obsolete (#5781)
Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-08-21 15:08:29 -07:00
xiang17 c483222ea5
[repo] Remove .NET 7 target (#5795)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-08-21 09:09:13 -07:00
Timothy Mothra 456cd26a20
[repo] Update stale.yml - reduce days before stale to 1000 (#5796) 2024-08-20 21:51:54 -07:00
Cijo Thomas 41a72f45b9
Log Stress test to follow recommended logging practise (#5790) 2024-08-19 13:04:21 -07:00
Mikel Blanchard 0e011e8c3c
[repo] Add needs-triage label to new issues created via templates (#5788) 2024-08-16 15:33:49 -07:00
Mikel Blanchard a0316ec3c6
[sdk] Switch a couple guard calls to debug.assert in CircularBuffer (#5789) 2024-08-16 12:42:42 -07:00
Timothy Mothra 5f13315926
[repo] update stale automation to inspect issues (#5787)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-08-15 10:35:03 -07:00
Yevhenii Solomchenko 5a0b686559
[repo] Enable NuGetAudit (#5784)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-08-15 09:41:23 -07:00
Mikel Blanchard 6ec1510729
[release] Add release notes link on stable releases (#5780) 2024-08-12 11:23:46 -07:00
Steve Gordon 83ecef862d
[api] Optimise `TraceContextPropagator.Extract` (#5749)
Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-08-12 10:07:12 -07:00
Mikel Blanchard 230adaba57
[docs] Top-level doc showing how to initialize the OpenTelemetry SDK (#5762) 2024-08-08 11:09:06 -07:00
Vishwesh Bankwar b15f9a82e3
[repo] Add ReleaseNotes.md to include features shipped in stable release (#5772)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-08-07 14:16:01 -07:00
Elmo Todurov 32c64d04de
[docs-metrics] Fix tuple vs KVP confusion in code sample (#5769) 2024-08-01 11:56:25 -07:00
Piotr Kiełkowicz 22a58aa89e
[Exporter.Console, Exporter.InMemory] Nullable (#5765) 2024-07-26 09:24:48 -07:00
Mikel Blanchard 05bb05a0dc
[sdk] Add OpenTelemetrySdk builder pattern (#5325) 2024-07-19 15:03:44 -07:00
Cijo Thomas 36c586ddcc
[benckmarks] Rename NoOp to Noop (#5752)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-07-17 11:04:36 -07:00
Steve Gordon 6a0a934107
[api] Fix `Fields` in `CompositeTextMapPropagator` (#5745)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-07-17 10:49:33 -07:00
Mikel Blanchard 46e076fbb7
[infra] Fix a couple paths in PR auto-label file change detection (#5751) 2024-07-16 12:38:35 -07:00
Cijo Thomas ccd3759ec8
[benchmarks] Add LogBenchmark when BatchProcessor is used (#5746)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Reiley Yang <reyang@microsoft.com>
2024-07-16 11:02:21 -07:00
Rajkumar Rangaraj dbe2ce35e7
Bump System.Text.Json version due to CVE-2024-30105 (#5744) 2024-07-11 11:25:23 -07:00
Piotr Kiełkowicz 46265e3379
[tests] Remove unused CustomTextMapPropagator (#5743) 2024-07-08 10:45:15 -07:00
Piotr Kiełkowicz da905a8264
[docs] Refresh getting started with AspNetCore and Jaeger (#5740) 2024-07-05 12:26:18 -07:00
Piotr Kiełkowicz 53cda157c9
Bump OTLP proto files to 1.3.2 (#5736) 2024-07-03 09:44:32 -07:00
Piotr Kiełkowicz d8ce51b1b4
[repo] Bump Microsoft.SourceLink.GitHub to 8.0.0 (#5728) 2024-06-28 09:27:15 -07:00
Mikel Blanchard 978b461771
[infra] Version validation in prepare release workflow (#5723) 2024-06-27 11:06:21 -07:00
Mikel Blanchard 7922e30255
[repo] Add Piotr as approver (#5710)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-06-26 21:17:29 -07:00
Piotr Kiełkowicz 4d254eb278
[Exporter.OTLP - Tests] Nullable (#5720) 2024-06-25 10:12:30 -07:00
OpenTelemetry Bot 8cc51b8bca
[release] Prepare release coreunstable-1.9.0-beta.2 (#5716) 2024-06-24 12:57:02 -07:00
Piotr Kiełkowicz 206d117e81
[Exporter.OTLP] Mark as nullable (#5708)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-06-24 11:59:51 -07:00
Mikel Blanchard b5cafe05f4
[infra] Prepare release automation improvements (#5714) 2024-06-24 11:29:59 -07:00
Mikel Blanchard 37b5f92254
[sdk] Organize related files into sub-folders (#5706) 2024-06-24 11:14:52 -07:00
joegoldman2 6d467d719d
[repo] Simplify preprocessor directives (#5712)
Co-authored-by: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-06-24 10:59:31 -07:00
jcin193 2f14c244e3
[prometheus] Fix collection output buffer management when its resized (#5676)
Co-authored-by: Reiley Yang <reyang@microsoft.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
2024-06-24 10:41:38 -07:00
Mikel Blanchard 4af3df9b81
[shared] Use CultureInfo.InvariantCulture in TagWriter (#5700) 2024-06-18 12:56:00 -07:00
Mikel Blanchard b1a21cc0dc
[repo] Stable version update automation tweaks (#5698) 2024-06-18 09:58:29 -07:00
OpenTelemetry Bot 237de185a7
[release] Prepare release coreunstable-1.9.0-beta.1 (#5697) 2024-06-14 15:40:23 -07:00
Mikel Blanchard 908b46ca2d
[repo] Bump OTelLatestStableVer to 1.9.0 and fix coreunstable test issues (#5696) 2024-06-14 15:34:34 -07:00
OpenTelemetry Bot df260790f0
[release] Prepare release core-1.9.0 (#5694) 2024-06-14 12:43:54 -07:00
Mikel Blanchard 26a4414a21
[repo] Auto-label PR workflow improvements (#5693) 2024-06-14 12:23:43 -07:00
Mateusz Łach dc390a6a7d
[api-baggage] revert space encoding change (#5687)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-06-12 10:01:04 -07:00
Piotr Kiełkowicz 28824f805c
[repo] Bump tests and examples dependencies (#5688) 2024-06-12 09:44:29 -07:00
Mikel Blanchard 48ce500ae5
[repo] Auto label PR workflow permissions fix (#5684) 2024-06-11 10:28:12 -07:00
joegoldman2 23fb651129
[repo] Replace Logging Exporter with Debug Exporter in otel-collector configs (#5685)
Co-authored-by: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
2024-06-10 12:17:16 -07:00
Mikel Blanchard a763c0dbfc
[repo] Auto label pull requests (#5681) 2024-06-10 09:02:41 -07:00
Mikel Blanchard fd18bb134c
[repo] Fix a couple issues in automation workflows/scripts (#5680) 2024-06-07 13:28:44 -07:00
OpenTelemetry Bot 357f0a2d79
[repo] Prepare release core-1.9.0-rc.1 (#5679) 2024-06-07 12:03:04 -07:00
Mikel Blanchard 84cd83ad53
[repo] NuGet push release automation (#5675) 2024-06-07 11:12:22 -07:00
Mikel Blanchard 90871e01cb
[repo] Add packages to releases when created by automation (#5674) 2024-06-06 15:02:20 -07:00
Mikel Blanchard 2710c427f0
Move LoggerProvider and friends (OTEL1000) to a stable API (#5648) 2024-06-05 16:06:17 -07:00
Cijo Thomas 248043a74d
Fix link to OTel calendar in readme (#5673) 2024-06-05 12:42:08 -07:00
Mikel Blanchard 4d02fe1a08
[repo] Post-release automation improvements (#5664) 2024-06-03 10:00:40 -07:00
James Thompson c38cc273bc
[repo] Reduce explicit package references on newer TFM's (#5659) 2024-05-30 15:46:25 -07:00
OpenTelemetry Bot 61eee46af8
[repo] Prepare release coreunstable-1.9.0-alpha.2 (#5662) 2024-05-29 10:52:07 -07:00
Mikel Blanchard 3ffa9160d9
[repo] Release automation improvements (#5657) 2024-05-29 10:41:04 -07:00
Robert Coltheart b9d56aa64e
[prometheus] Fix OpenMetrics format suffixes (#5646)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
Co-authored-by: Reiley Yang <reyang@microsoft.com>
2024-05-28 10:47:02 -07:00
Mikel Blanchard 81244d6136
[repo] CI tweaks and improvements (#5651) 2024-05-27 23:37:19 -07:00
Mikel Blanchard 625f32f33e
[docs] Add exemplar project to solution (#5650) 2024-05-24 13:04:08 -07:00
Reiley Yang 361a4b9bd8
[docs] Move docker related files to examples folder (#5640)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2024-05-23 12:40:23 -07:00
Eric Erhardt 574c71612b
[repo] Fix variable usage in test-aot-compatibility script (#5645) 2024-05-22 13:42:38 -07:00
Reiley Yang 0cb89abd45
[docs] Tweak ToC (#5644) 2024-05-22 09:10:39 -07:00
Reiley Yang 3cff6dbfd1
[docs] Improve exemplars tutorial (#5636) 2024-05-21 16:51:09 -07:00
Reiley Yang 498b0d00a1
[docs] Remove MD033 workaround (#5638) 2024-05-21 11:03:47 -07:00
github-actions[bot] 6c0327c4c6
[repo] Prepare release coreunstable-1.9.0-alpha.1 (#5634)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-20 14:23:39 -07:00
github-actions[bot] 7dd39b08fe
[repo] Prepare release core-1.9.0-alpha.1 (#5633)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-20 11:36:32 -07:00
Mikel Blanchard 07f7e1d08b
[repo] A little bit of cleanup for post-release.psm1 (#5632) 2024-05-20 11:08:27 -07:00
Mikel Blanchard 2abf2a9e71
[docs-metrics] Customer ExemplarReservoir and View API configuration (#5624) 2024-05-20 09:31:55 -07:00
Vishwesh Bankwar 16f2bf0fb9
[OTLP] Add details for offline storage (#5628)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-05-17 15:49:39 -07:00
Mikel Blanchard a9c32c98d0
[sdk-metrics] Update Exemplars before MetricPoint CompleteUpdate fires (#5630) 2024-05-17 15:44:04 -07:00
Robert Coltheart 8177a391a6
[prometheus] Fix issue with corrupted buffers when reading both OpenMetrics and plain text formats (#5623)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-05-17 12:38:16 -07:00
Piotr Kiełkowicz b444464d0f
[repo] Cleanup shared code (#5622) 2024-05-17 12:17:13 -07:00
Mikel Blanchard 1e065cbdaa
[sdk-metrics] Add experimental envvar for setting ExemplarFilter for histograms (#5611)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2024-05-16 13:57:53 -07:00
Piotr Kiełkowicz 808abc8552
[sdk-traces] SamplingResult constructors accept null parameters (#5614) 2024-05-16 10:02:28 -07:00
Mikel Blanchard 1bbafaa7b7
[repo] Build script organization (#5619) 2024-05-14 14:55:19 -07:00
Mikel Blanchard 2d2fcf9650
[repo] Post-release workflow refactor (#5617) 2024-05-14 14:12:53 -07:00
Mikel Blanchard cf8ca09a55
[shared] Remove TagTransformer and improve TagWriter (#5602) 2024-05-14 11:44:41 -07:00
Reiley Yang a578ed3f9b
[repo] Switch to component label for tagging issues (#5612)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-05-14 10:40:27 -07:00
Reiley Yang 5aa077b9e7
[repo] Add minimal reproducible example link to the issue template (#5610) 2024-05-13 14:37:09 -07:00
Mikel Blanchard af3c389c0c
[sdk-metrics] Expose Exemplars stable (#5607) 2024-05-13 13:55:56 -07:00
Mikel Blanchard 9d12b36fd5
[repo] Release process tweaks & improvements 4 (#5598)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Reiley Yang <reyang@microsoft.com>
2024-05-13 13:35:44 -07:00
Reiley Yang 15cea9c0ef
[doc] update package level warning messages (#5608)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-05-13 09:07:00 -07:00
Reiley Yang c7abbdb1fa
[repo] Clean up nits (s/can not/cannot/) in bug template (#5609) 2024-05-10 21:50:13 -07:00
Mikel Blanchard 409d96de68
[repo] Add-labels workflow fix (#5605)
Co-authored-by: Reiley Yang <reyang@microsoft.com>
2024-05-10 13:10:22 -07:00
Mikel Blanchard b8ea807bae
[sdk-metrics] ExemplarReservoir dedicated diagnostic and custom ExemplarReservoir support (#5558) 2024-05-10 11:39:03 -07:00
Mikel Blanchard 49d70e0702
[console] Switch to TagWriter for handling of tags/attributes (#5596) 2024-05-09 10:29:34 -07:00
Mikel Blanchard ee5e1e0628
[repo] Automatically add area labels when new issue is opened (#5601) 2024-05-09 10:16:47 -07:00
Piotr Kiełkowicz abb680143a
[Instrumentation.AspNetCore] Move to contrib repository (#5599) 2024-05-08 09:54:22 -07:00
Reiley Yang 3db4919141
[repo] Change Markdown issue templates to YAML (#5595) 2024-05-07 14:58:46 -07:00
Vishwesh Bankwar 4215968f75
[Otlp] Add disk retry enablement (#5527)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-05-07 14:02:43 -07:00
Reiley Yang c47dd7c1b1
[repo] Switching bug template to YAML (#5594) 2024-05-07 12:27:03 -07:00
Piotr Kiełkowicz 4a860e38f7
[Instrumentation.GrpcNetClient] Move to contrib repository (#5593) 2024-05-07 11:13:50 -07:00
Mikel Blanchard 8864a054b6
[repo] Release process tweaks & improvements 3 (#5589) 2024-05-07 10:33:40 -07:00
Mikel Blanchard 2fe54ee958
[zipkin] Switch to TagWriter for handling of tags/attributes (#5590) 2024-05-07 09:47:34 -07:00
Mikel Blanchard ac0d1d1fab
[otlp] Switch to TagWriter for handling of tags/attributes (#5585) 2024-05-02 22:53:50 -07:00
Mikel Blanchard e95ae72649
[repo] Release process tweaks & improvements 2 (#5587) 2024-05-02 12:46:03 -07:00
Mikel Blanchard eace49c2fb
[repo] Release process tweaks & improvements (#5584) 2024-04-30 22:59:35 -07:00
Reiley Yang c2558da11f
[docs-logs] Use struct in the complex type logging demo (#5577)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2024-04-30 10:03:10 -07:00
Reiley Yang dffe70c8cc
[repo] Move Microsoft.CSharp to non-prod section (#5581) 2024-04-29 13:36:50 -07:00
Piotr Kiełkowicz e2a867f192
[Instrumentation.Http] Move to contrib repository (#5574) 2024-04-29 12:02:59 -07:00
Mikel Blanchard e25d128baf
[sdk-metrics] Tweak SetExemplarFilter API and improve XML docs (#5578) 2024-04-26 13:14:33 -07:00
Piotr Kiełkowicz 254f52f65c
Bump OTLP proto files to 1.3.0 (#5575)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-04-26 11:33:19 -07:00
Mikel Blanchard 1b4f5a2829
[repo] Add Piotr as a triager (#5576) 2024-04-26 11:10:19 -07:00
Mikel Blanchard 2b09864f68
[sdk-metrics] Clean up some malformed xml docs in exemplar code (#5572) 2024-04-26 09:53:07 -07:00
Mikel Blanchard 864bcfc04a
[repo-ci] Switch to using dotnet tool install in docfx workflow (#5573)
Co-authored-by: Reiley Yang <reyang@microsoft.com>
2024-04-26 09:39:27 -07:00
Mikel Blanchard 0deb93e0a3
[hosting] Revert obsoletion of OpenTelemetryBuilder (#5571) 2024-04-25 22:32:58 -07:00
Reiley Yang f89214a29e
[repo] Cleanup unused packages (#5565)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-04-24 15:18:41 -07:00
Reiley Yang 51baf9fbe2
Improve BatchExportActivityProcessorTest.CheckShutdownExport stability (#5567) 2024-04-24 14:46:05 -07:00
Piotr Kiełkowicz 98a5d3e5b2
[Instrumentation.SqlClient] Move to contrib repository (#5559)
Co-authored-by: Reiley Yang <reyang@microsoft.com>
2024-04-24 11:22:36 -07:00
Mikel Blanchard 994b890be1
[repo] Improve the scripts used in the release process (#5561) 2024-04-23 15:11:04 -07:00
Steve Gordon efe97bf999
[otlp] Implement Span and SpanLink flags (#5563)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-04-23 12:32:05 -07:00
Andrei Chasovskikh 4a1601b505
[api] Fix Baggage XML documentation (#5562) 2024-04-23 11:52:38 -07:00
Reiley Yang f76d21a53d
[docs-metrics] Remove predicate-based View examples (#5554) 2024-04-19 10:29:05 -07:00
Utkarsh Umesan Pillai 84bdeb3dd5
[sdk-metrics] Fix race condition for MemoryPoint Reclaim (#5546) 2024-04-18 15:08:41 -07:00
Utkarsh Umesan Pillai b8729a0f80
Move Utkarsh to Approver (#5547)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-04-18 10:09:20 -07:00
Reiley Yang 36ceb2efe2
[Doc] provide recommendation on log scopes (#5549)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-04-18 10:05:09 -07:00
Mikel Blanchard 266fe91bb8
[main] Updates for 1.8.1 release (#5548) 2024-04-18 09:51:59 -07:00
Mikel Blanchard 89aa7a47ab
[sdk-metrics] Expose ExemplarReservoir and support configuration via views (#5542) 2024-04-17 15:49:35 -07:00
Mikel Blanchard bf423cc735
[sdk-metrics] Remove locking around exemplar updates in MetricPoint (#5535) 2024-04-17 09:55:36 -07:00
Mikel Blanchard 3898df5509
[repo] Define release process for unstable core components (#5531) 2024-04-17 09:33:03 -07:00
Reiley Yang 1fb00d9a8a
Remove OpenTelemetry.SemanticConventions project (#5539) 2024-04-16 13:27:36 -07:00
Reiley Yang 57c442cc7b
Fix the OpenTelemetry Registry URL in main README (#5534) 2024-04-12 13:40:06 -07:00
Vishwesh Bankwar e222ecb594
[Instrumentation.Http][Instrumentation.AspNetCore] Fix `url.full` and `url.query` attribute values (#5532) 2024-04-12 11:47:42 -07:00
Mikel Blanchard 0bbebb5367
[logs] Mitigate unwanted object creation during configuration reload (#5514)
Co-authored-by: Reiley Yang <reyang@microsoft.com>
2024-04-12 11:17:50 -07:00
Piotr Kiełkowicz 876e4faa5a
[Exporter.OpenTelemetryProtocol] User agent changed to OTel-OTLP-Exporter-Dotnet/{NuGet Package Version} (#5528)
Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
2024-04-10 09:35:07 -07:00
Mikel Blanchard a4e5cf524c
[shared] Add TagWriter implementation (#5476) 2024-04-09 12:07:20 -07:00
Mikel Blanchard b78a3691a8
[repo] Make InternalsVisibleTo consistent across stable & unstable builds (#5521) 2024-04-09 11:39:18 -07:00
Piotr Kiełkowicz 562f4538b8
[Instrumentation.GrpNetClient, Instrumentation.SqlCliet] set ActivitySource.Version to NuGet package version (#5498)
Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
2024-04-09 10:46:42 -07:00
Mikel Blanchard 9261a679e6
[otlp] Add comments capturing details about SYSLIB1100 & SYSLIB1101 suppressions in project (#5523) 2024-04-08 13:27:08 -07:00
Martin Costello dde68fa331
Improve AoT validation and fix OpenTelemetryProtocol AoT warnings (#5520)
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-04-08 12:34:43 -07:00
dependabot[bot] 7b604f7bfb
Bump DavidAnson/markdownlint-cli2-action from 15.0.0 to 16.0.0 (#5522) 2024-04-08 11:33:03 -07:00
Piotr Kiełkowicz c7c7a69788
Bump OTLP proto files to 1.2.0 (#5516) 2024-04-08 09:57:36 -07:00
Mateusz Łach e46a446c4a
[api-baggage] fix encoding of space chars in baggage item value (#5303)
Co-authored-by: Robert Pająk <pellared@hotmail.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-04-05 15:06:37 -07:00
Mikel Blanchard dbcc511903
[opentracing-shim] Add missing XML comments (#5512)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2024-04-05 14:12:11 -07:00
Utkarsh Umesan Pillai 90d9a91cd1
Minor refactoring for AggregatorStore and MetricPoint (#5510) 2024-04-05 13:20:53 -07:00
Utkarsh Umesan Pillai 3f4c73adb1
[sdk-metrics] Refactor AggregatorStore (#5509) 2024-04-04 15:03:28 -07:00
Piotr Kiełkowicz 2c421a04ae
Instrumentation packages - 1.8.0/1.8.0-beta.1 release (#5505)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-04-04 14:11:30 -07:00
John Bley c6e80a1650
Use set -e in shell scripts (#5507)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-04-04 10:58:52 -07:00
Reiley Yang 93237f1c95
Metrics doc minor improvement (#5508) 2024-04-04 10:47:46 -07:00
Vishwesh Bankwar b0c95307dd
Migrate to docker compose v2 (#5503) 2024-04-03 10:01:02 -07:00
Mikel Blanchard 9b246750ab
[repo] Bump OTelLatestStableVer to 1.8.0 (#5501) 2024-04-02 17:51:10 -07:00
Mikel Blanchard fb74013d64
Update CHANGELOG and API files for 1.8.0 stable release (#5494) 2024-04-02 10:32:17 -07:00
Reiley Yang e0af47e4ab
Minor doc structure improvement (#5496) 2024-04-01 17:02:53 -07:00
Vishwesh Bankwar dbec6f845a
[otlp] Rename key for enabling retries during transient failures (#5495)
Co-authored-by: Reiley Yang <reyang@microsoft.com>
2024-04-01 15:43:35 -07:00
Mikel Blanchard e5ca93b8f9
[docs-metrics] Add back SetMaxMetricPointsPerMetricStream example (#5493) 2024-03-29 14:15:14 -07:00
Mikel Blanchard 39d960e0e7
[docs-traces] Added version info to the OTEL_TRACES_SAMPLER doc (#5492) 2024-03-29 12:01:21 -07:00
Piotr Kiełkowicz 2e30089295
[otlp] Remove AppContext verification when using grpc + insecure endpoints (#5486)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-03-29 10:43:53 -07:00
Piotr Kiełkowicz 1374a7de40
[Instrumentation.AspNetCore] Fix span names when http.request.method is reporter as _OTHER (#5484)
Co-authored-by: Robert Pająk <pellared@hotmail.com>
Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-03-29 10:35:05 -07:00
Piotr Kiełkowicz d64318f667
[repo] Bump MinVer to 5.0.0 (#5490) 2024-03-29 10:25:35 -07:00
Piotr Kiełkowicz 717c3226bb
[Exporter.Console] Add support for ActivitySource.Version (#5472)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-03-28 10:48:25 -07:00
Timothy Mothra 5e0b7bf6dc
sync changes in shared files (#5432)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-03-28 10:07:49 -07:00
Mikel Blanchard aac1a01bce
Prepare CHANGELOGs for 1.8.0-rc.1 (#5483) 2024-03-27 15:16:26 -07:00
Piotr Kiełkowicz dfdbf01e2f
[Instrumentation.AspNetCore, Instrumentation.Http] Fix http.request.method_original attribute (#5471) 2024-03-27 13:02:11 -07:00
Vishwesh Bankwar af57de2b01
[Otlp] Add persistent storage transmission handler (#5460) 2024-03-26 18:02:20 -07:00
Mikel Blanchard 1a607c852e
[sdk-metrics] Exemplar concurrency updates (#5465)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2024-03-26 14:52:55 -07:00
Reiley Yang b10f84a2e0
Recommend against using Activity.AddEvent in a loop (#5474) 2024-03-26 14:26:54 -07:00
Mikel Blanchard 21aeaa70c0
[shared] Refactor logging for configuration extensions (#5469) 2024-03-26 12:27:56 -07:00
Piotr Kiełkowicz 70657395b8
[Exporter.Zipkin] Use new attributes to propagate scope (#5473) 2024-03-26 10:44:39 -07:00
Mikel Blanchard 49f16e44d0
[shared] Tag transformer improvements (#5455)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2024-03-22 13:40:19 -07:00
Mikel Blanchard 2f0af656be
[sdk-metrics] Tags perf improvements (#5457) 2024-03-22 12:49:47 -07:00
Mikel Blanchard 040012b400
[shared] Split options and configuration extensions into separate files (#5466) 2024-03-22 09:17:02 -07:00
Robert Coltheart 0969437c39
Include resource attributes as `target_info` for Prometheus exporters (#5407) 2024-03-21 16:30:54 -07:00
Renato aacbf038c1
[doc] added clarification for Processors about TagObjects (#5445) 2024-03-21 13:23:13 -07:00
Mikel Blanchard 3ff1df28cf
[otlp] Update README for UseOtlpExporter & new experimental flag (#5452) 2024-03-21 09:36:04 -07:00
Reiley Yang af57ae8787
Docs - best practices for ILogger.IsEnabled (#5459) 2024-03-19 16:05:01 -07:00
Matt Hensley 76cafe5d80
[sdk-traces] Add support for OTEL_TRACES_SAMPLER and OTEL_TRACES_SAMPLER_ARG (#5448) 2024-03-19 15:55:29 -07:00
Vishwesh Bankwar 8f9eb90db0
[Prometheus] Readme fix (#5456) 2024-03-18 11:24:30 -07:00
Timothy Mothra dd4e212d59
[Exporter.OpenTelemetryProtocol] fix event source throws `System.FormatException` (#5451) 2024-03-14 16:48:55 -07:00
Utkarsh Umesan Pillai 59f829d615
Update CHANGELOG for 1.8.0-beta.1 (#5453) 2024-03-14 16:14:10 -07:00
Mikel Blanchard a6a760ffbb
[otlp] UseOtlpExporter cross-cutting extension (#5400) 2024-03-14 14:03:56 -07:00
Vishwesh Bankwar eb2dc443f4
[otlp] Add experimental feature flag for enabling retries (#5435) 2024-03-13 15:33:32 -07:00
Piotr Kiełkowicz 4cccb09239
[Instrumentation.Http, Instrumentation.AspNetCore] Always set server.port attribute for spans (#5419) 2024-03-12 14:03:39 -07:00
Vishwesh Bankwar ff6725f07a
[otlp] Add Retry Handler (#5433) 2024-03-12 11:54:29 -07:00
Vishwesh Bankwar d5795c0056
[otlp] Add readme toc and clarify endpoint confusion (#5385) 2024-03-11 19:55:03 -07:00
Mikel Blanchard adc89d9424
[otlp] Nullable annotations for the OtlpExporterOptions class and some xml doc improvement (#5434) 2024-03-11 14:05:53 -07:00
Vishwesh Bankwar 043d8a31c7
[Otlp] Refactor ExportClient (#5431) 2024-03-11 11:57:57 -07:00
Mikel Blanchard 85933659ab
[otlp] Add foundation for signal-specific envvars (#5429) 2024-03-11 11:37:44 -07:00
Vishwesh Bankwar 3cd4c622ae
[Otlp] Fix Http Retry to cover network failure and add tests (#5394) 2024-03-11 10:51:15 -07:00
Mikel Blanchard 9adb088e06
[otlp] Move spec envvar key definitions to a single spot (#5428) 2024-03-08 12:01:18 -08:00
Mikel Blanchard 81d29cf87e
[otlp] Rename ProgrammaticallyModifiedEndpoint -> AppendSignalPathToEndpoint (#5427) 2024-03-08 11:35:01 -08:00
Mikel Blanchard eb2f99856c
[sdk-logs+traces] Add internal processor weight api (#5424) 2024-03-08 11:06:15 -08:00
Mikel Blanchard 0820101396
[sdk] Add ActivityExportProcessorOptions and clean up MetricReaderOptions (#5423) 2024-03-07 14:33:49 -08:00
Mikel Blanchard f34fce5620
[repo-shared] Remove the new() constraint from Options API helpers (#5422) 2024-03-07 13:44:34 -08:00
Rajkumar Rangaraj b90c3b2cea
Adjust Cardinality Limit to Accommodate Internal Reserves (#5382) 2024-03-07 11:15:17 -08:00
Igor Shishkin bae8a6b699
Reduce memory usage by reclaimed MetricPoint (#5416) 2024-03-05 18:27:17 -08:00
Mikel Blanchard a7f3400977
[sdk-metrics] Pass all tags supplied at measurement to ExemplarReservoir.Offer methods (#5414) 2024-03-05 16:59:52 -08:00
Reiley Yang df2abe8c0a
Improve log filter example (#5406) 2024-03-05 15:52:07 -08:00
Mikel Blanchard 123c0b4b69
[sdk-metrics] Support setting exemplar filter from spec envvar key (#5412) 2024-03-05 14:20:55 -08:00
Mikel Blanchard 8cba9868fb
[sdk-metrics] Use FrozenSet on net8+ for custom tag lookup (#5409) 2024-03-05 09:57:29 -08:00
Mikel Blanchard fc17a5a33d
[sdk-metrics] Remove ExemplarFilter classes (#5408) 2024-03-04 16:44:11 -08:00
Yun-Ting Lin 28ead764b6
Throw NotSupportedException when using `SetErrorStatusOnException` in Mono Runtime and Native AOT environment. (#5374) 2024-03-01 17:04:51 -08:00
Reiley Yang 97404a2ebd
Clarify the recommendation regarding log category name (#5405) 2024-03-01 15:14:49 -08:00
Mikel Blanchard b754b13cdb
[sdk-metrics] ExemplarFilter updates to match latest specification (#5404) 2024-03-01 11:42:47 -08:00
Mikel Blanchard 42ecd73bd0
[sdk-metrics] ReadOnlyExemplarCollection tweaks (#5403) 2024-02-29 13:29:45 -08:00
Mikel Blanchard 77ef12327f
[sdk-metrics] Refactor exemplar offer duplicated code into helper methods inside MetricPoint (#5399) 2024-02-28 16:40:50 -08:00
Mikel Blanchard 7ce0c55260
[sdk-metrics] Refactor duplicated update completion code into a helper in MetricPoint (#5398) 2024-02-28 11:15:13 -08:00
Mikel Blanchard 05b0ca4521
[otlp-metrics] Support exemplars for all metric types (#5397) 2024-02-28 10:56:29 -08:00
Mikel Blanchard 278e246111
[sdk-metrics] Support exemplars when using exponential histograms (#5396) 2024-02-28 09:59:41 -08:00
Mikel Blanchard e7cbbbbf0d
[sdk-metrics] Improve exemplar tests (#5393) 2024-02-27 15:52:33 -08:00
Mikel Blanchard 44432235e5
[sdk-metrics] XML doc tweaks for exemplar experimental APIs (#5392) 2024-02-27 12:04:44 -08:00
Mikel Blanchard 42c593d8c2
[sdk-metrics] Exemplar spec improvements (#5386) 2024-02-27 10:49:44 -08:00
Mikel Blanchard 24d52c4149
[tools] Stress test README updates (#5388) 2024-02-26 11:39:08 -08:00
Mikel Blanchard 73b6e30c1b
[tools] Stress test improvements (#5381) 2024-02-23 15:50:19 -08:00
Vishwesh Bankwar 7e0213ddbd
Otlp Retry Part2 - Introduce transmission handler (#5367) 2024-02-23 12:36:31 -08:00
Mikel Blanchard c87134ddc6
[ci] Add checkout for push and workflow_dispatch trigger (#5384) 2024-02-23 09:18:48 -08:00
Utkarsh Umesan Pillai f5b7f9c9eb
[ci] Add push trigger and workflow_dispatch trigger (#5383) 2024-02-22 19:03:21 -08:00
Reiley Yang 88b6b0e552
Improve OTLP Exporter doc - provide recommendation on custom AuthN (#5380) 2024-02-22 14:47:39 -08:00
Mikel Blanchard 09dd46fbad
[sdk-metrics] Refactor and improve interlocking code for doubles in MetricPoint (#5378) 2024-02-21 16:07:38 -08:00
Reiley Yang 5bcc805280
[sdk-logs] Improve OpenTelemetryLogger.IsEnabled (#5375) 2024-02-21 10:40:37 -08:00
Mikel Blanchard 4ae0aaf099
[sdk-metrics] Clean up locking in MetricPoint (#5368) 2024-02-20 13:45:15 -08:00
Mikel Blanchard fb9576b359
[repo] Switch CodeQL workflow to manual build (#5373) 2024-02-20 12:51:30 -08:00
Mikel Blanchard af2b551316
[sdk-metrics] Simplify the state built when an instrument is published (#5350) 2024-02-20 12:02:57 -08:00
Atrokhov Sergey bbce7ef0ef
Option to not add _total suffix to counter metrics in Prometheus exporter (#5305) 2024-02-20 10:24:05 -08:00
joegoldman2 d27e9bac41
Improve comment for SamplingDecision.Drop (#5370) 2024-02-20 10:09:26 -08:00
Mikel Blanchard dd877fe179
[sdk-metrics] Improve the perf of histogram snapshots (#5366) 2024-02-16 11:37:52 -08:00
Vishwesh Bankwar 5849d3aad3
Otlp Retry Part1 - Refactor ExportClients (#5335) 2024-02-15 16:23:18 -08:00
Mikel Blanchard e4b08ac152
[docs-logging] Add a logging doc for showing how to set up a dedicated pipeline for specific logs (#5356) 2024-02-15 12:48:15 -08:00
joegoldman2 855e9c42af
Fix typo in reporting exceptions documentation (#5363) 2024-02-15 11:43:20 -08:00
Reiley Yang a1207550af
[repo] Bump Microsoft.Extensions.Telemetry.Abstractions to 8.2.0 (#5362)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-02-15 09:53:16 -08:00
Rajkumar Rangaraj 99a394c3bc
[sdk] Rename SimpleExemplarReservoir to SimpleFixedSizeExemplarReservoir (#5359) 2024-02-15 09:44:10 -08:00
Cijo Thomas 41ec1894a0
Fix collector config in example (#5357) 2024-02-13 21:36:07 -08:00
Cijo Thomas 87b970b07a
Remove experimental feature flag from doc (#5343) 2024-02-12 09:35:17 -08:00
Alan West 303ab7a25a
Update changelog for #5252 (#5341) 2024-02-09 17:32:38 -08:00
Alan West 8b88f43911
[GrpcNetClient] Clarify impact to SuppressDownstreamInstrumentation (#5340)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2024-02-09 17:25:55 -08:00
Piotr Kiełkowicz a2f85dc9e2
Release instrumentation packages 1.7.1/1.7.0-beta.1 (#5322)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-02-09 16:44:45 -08:00
Mikel Blanchard f1a1835479
[sdk-metrics] Remove some reflection used by tests (#5338)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2024-02-09 13:09:56 -08:00
Alan West 8325786802
Add MinVerTagPrefix for SQL and gRPC instrumentation (#5337)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2024-02-09 12:50:49 -08:00
Reiley Yang f6c31f31e3
[Editorial] Update the docs based on Copilot review feedback (#5332) 2024-02-09 12:02:37 -08:00
Mikel Blanchard cf00e4254e
[sdk-metrics] Obsolete SetMaxMetricPointsPerMetricStream + standarize on "Cardinality Limit" name (#5328)
Co-authored-by: Yun-Ting Lin <yunl@microsoft.com>
2024-02-09 11:06:14 -08:00
Piotr Kiełkowicz f214d27e93
[Instrumentation.SqlClient] Improve changelog (#5327) 2024-02-08 17:44:43 -08:00
Reiley Yang 93038e21fa
Dispose loggerFactory in benchmark (#5330) 2024-02-08 17:36:51 -08:00
Reiley Yang 5ac06dd20a
Clean up guidance docs (#5329) 2024-02-08 11:43:28 -08:00
Reiley Yang 05700f640a
[metrics] Document view level cardinality limit (#5321)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2024-02-07 15:09:46 -08:00
Johannes Tax 752778270d
Support both URL-encoded and non-URL encoded values for `OTEL_EXPORTER_OTLP_HEADERS` (#5316) 2024-02-07 11:23:32 -08:00
Reiley Yang 72889f25a4
Tracing doc - clarify that activities should be stopped (#5320) 2024-02-06 16:55:42 -08:00
Cijo Thomas 98e9b6ad91
Minor doc fixes for clarity (#5319) 2024-02-06 16:55:28 -08:00
Reiley Yang 5b9a2204e7
Update Metrics modeling guidance (#5318)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-02-06 16:55:04 -08:00
Mikel Blanchard 3fa189ab03
[api+sdk] Groundwork for cross-cutting builder extensions (#5265)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-02-06 16:44:09 -08:00
Mikel Blanchard 10f8a0d7ea
[sdk-logs] Update LogRecord to keep CategoryName and Logger in sync (#5317) 2024-02-06 16:22:05 -08:00
Yun-Ting Lin 8ff986b296
[sdk] Added support for setting `CardinalityLimit` allowed for the metric managed by the view. (#5312)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-02-06 12:47:25 -08:00
Piotr Kiełkowicz c057e6adcc
[Instrumentation.AspNetCore] .NET6 library works on .NET7 and .NET8 (#5252)
Co-authored-by: Reiley Yang <reyang@microsoft.com>
Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
2024-02-06 11:15:52 -08:00
Reiley Yang ebb3524800
Improve tracing doc (#5310) 2024-02-05 16:01:49 -08:00
Piotr Kiełkowicz a31bca866d
[Instrumentation.SqlClient] Stop emitting db.statement_type attribute (#5301)
Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
2024-02-05 10:37:45 -08:00
Julius Koval ef977c107a
[otlp] Use LogRecord.Logger.Name for instrumentation scope if LogRecord.CategoryName is null (#5300)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-02-05 10:19:19 -08:00
Mikel Blanchard ef942a11ac
[metrics] Fix perf regression introduced by metric point reclaim feature (#5307)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-02-02 12:23:18 -08:00
dependabot[bot] 71f9a4217f
Bump al-cheb/configure-pagefile-action from 1.3 to 1.4 (#5309)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-02 12:00:23 -08:00
Mikel Blanchard edfea52f2e
Bump codecov/codecov-action from 3.1.5 to 4.0.1 (#5294) 2024-02-01 16:40:48 -08:00
dependabot[bot] 4dedeade30
Bump DavidAnson/markdownlint-cli2-action from 14.0.0 to 15.0.0 (#5290)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-02-01 14:59:21 -08:00
Alan West c28b3e1251
[aspnetcore-route-docs] Fix markdown to make markdownlint v15 happy (#5306)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-02-01 14:49:53 -08:00
Mikel Blanchard 8b54074c7a
[prometheus-httplistener] Throw an exception if the listener cannot be started (#5304) 2024-02-01 12:36:55 -08:00
Reiley Yang 9fd01f7803
Metrics docs improvement - exemplar, enrichment, memory (#5299) 2024-02-01 10:28:21 -08:00
Yun-Ting Lin 3d60de1ffd
[Logs Bridge API] Add support for Body set directly on LogRecord for OTLP Exporter. (#5268)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
2024-02-01 10:18:41 -08:00
Reiley Yang bace882971
[Editorial] add ToC to logging/metrics docs (#5298) 2024-01-31 16:33:48 -08:00
Reiley Yang 0ee3eb149f
Improve metrics docs - part 2 (#5284)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
2024-01-31 14:37:52 -08:00
Piotr Kiełkowicz d2f9d055e0
Rename SqlClientInstrumentationOptions to SqlClientTraceInstrumentationOptions (#5285) 2024-01-31 10:09:42 -08:00
Mikel Blanchard 8ca81d4ce2
[repo-ci] Bump AurorNZ/paths-filter to resolve GitHub Node version warnings (#5288) 2024-01-30 10:57:48 -08:00
Piotr Kiełkowicz 52a03b11ae
Rename GrpcClientInstrumentationOptions to GrpcClientTraceInstrumentationOptions (#5272)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-01-29 17:30:48 -08:00
Piotr Kiełkowicz edc9fe2e6e
[Instrumentation.SqlClient] Support only stable HTTP semantic convention (#5270)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-01-29 16:53:02 -08:00
Mikel Blanchard 6a5a57f696
[sdk] Perf improvement for TraceContextPropagator.Inject (#5278)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2024-01-29 16:29:49 -08:00
Mikel Blanchard c8a097db75
[logs] Fix pooling issues when wrapping batch export processor (#5255)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2024-01-29 16:20:47 -08:00
Reiley Yang 98f687335e
Improve metrics docs (#5279)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-01-29 16:11:00 -08:00
Mikel Blanchard 48db3e1809
[repo] markdownlint ci changes (#5281) 2024-01-29 15:59:56 -08:00
Piotr Kiełkowicz 0b9cf42e9a
[Instrumentation.GrpcNetClient] Support only stable HTTP semantic convention (#5259)
Co-authored-by: Reiley Yang <reyang@microsoft.com>
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-01-27 09:22:47 -08:00
Reiley Yang 512c7dcbf1
Link to .NET 9 log filter plan (#5267)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-01-26 18:34:04 -08:00
Alan West c2bb4c578d
Update changelog for #5135 (#5269) 2024-01-26 17:34:31 -08:00
Ciaran Liedeman 26a2d4b4c7
Fixed Missing Endpoint (#5135)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-01-26 17:05:18 -08:00
Reiley Yang 3fb2ec50d0
Log correlation/redaction doc improvements (#5262)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-01-26 13:45:25 -08:00
Vishwesh Bankwar eaf8316656
Add base class for implementing retry strategies in otlp exporter (#4872)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-01-26 13:23:43 -08:00
Rajkumar Rangaraj c1f9a05c50
[otlp] Remove Experimental Flag and emit stable Exception attributes by default (#5258)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-01-26 13:01:06 -08:00
dependabot[bot] 11ac32c03c
[repo-ci] Bump codecov/codecov-action from 3.1.4 to 3.1.5 (#5263)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-26 10:50:42 -08:00
Mikel Blanchard 914ebf9c6d
[repo] Fix docfx build + improve CI for md-only PRs (#5257) 2024-01-25 11:52:20 -08:00
Reiley Yang 3b8cee7669
[docs] Logger management guidance (#5249)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-01-25 10:02:54 -08:00
sprayzcs 0fefe37af9
[otlp] Fix doc for LogRecord.EventId attributes (#5251)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-01-25 10:01:10 -08:00
Cijo Thomas 1e0e755652
[repo] Add more welcoming note for community meeting in README (#5253)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2024-01-25 09:59:34 -08:00
Reiley Yang 6f753f623a
Remove ILogger scope from the ASP.NET Core logging getting started doc (#5254) 2024-01-25 09:57:00 -08:00
Mikel Blanchard 0a77cc3cce
[docs] Avoid duplicate ToString calls in redaction log processor (#5248) 2024-01-23 16:46:24 -08:00
Reiley Yang eab0a7c367
Docs - logging best practice (#5246) 2024-01-23 13:59:44 -08:00
Reiley Yang dca99b6e66
Revise the metrics perf guidance (#5243) 2024-01-22 15:28:26 -08:00
Piotr Kiełkowicz a872c7d267
[Instrumentation.AspNetCore] HttpInListener - remove unused fields (#5240)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-01-22 15:24:14 -08:00
Cijo Thomas e3b8b4571c
Main readme updates to reflect release status better (#5237)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-01-22 14:49:06 -08:00
Vishwesh Bankwar 00c3e58aad
[Instrumentation.AspNetCore] Fix changelog entry and remove package reference (#5241)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-01-22 14:25:57 -08:00
Cijo Thomas 9db5a52536
Remove testexporter in favor of inmemoryexporter (#5238)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-01-22 14:14:26 -08:00
Reiley Yang ca051e2b02
Minor docs tweak (#5235)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-01-22 13:54:42 -08:00
Piotr Kiełkowicz dfd27c5040
HTTP Instrumentation - fix description for http.client.request.duration (#5234) 2024-01-19 15:31:50 -08:00
Cijo Thomas 45cf7c3a25
Fix SimpleExemplarReservoir for cumulative (#5230)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-01-18 10:16:51 -08:00
Luiz Lelis 89e538293b
docs: `resource-detector` should not be tied to tracing (#5188)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-01-17 17:29:33 -08:00
Mikel Blanchard 8c0a4a54e8
[revert] [api] Fix Baggage context leak issue (#5227) 2024-01-17 12:57:40 -08:00
Cijo Thomas 26eae7c6de
[repo] Bump sqlclient package version to avoid security warning (#5228) 2024-01-17 12:46:21 -08:00
Reiley Yang f71df667aa
Use proper GFM warning syntax (#5225) 2024-01-16 13:21:11 -08:00
Nils Gruson 18ccd876a8
Only create a sibling activity when trace id, span id or trace state differ (#5136)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-01-16 12:21:25 -08:00
Reiley Yang 6d88762954
Policheck (#5221) 2024-01-16 12:08:03 -08:00
Piotr Kiełkowicz 6e042134d3
Bump OTLP proto files to 1.1.0 (#5215)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2024-01-16 11:57:19 -08:00
Mikel Blanchard 90a9c6c1b0
[api] Fix Baggage context leak issue (#5208) 2024-01-16 10:23:10 -08:00
Reiley Yang 3a5134f2bd
Use GMF Warning/Caution (#5220) 2024-01-12 15:29:09 -08:00
Reiley Yang c78363211e
Use GFM NOTES syntax (#5219) 2024-01-12 15:17:10 -08:00
Reiley Yang b9d09bee5c
Update docs for complex object logging (#5217) 2024-01-12 14:36:40 -08:00
Reiley Yang 1b4f231e2e
Complex object logging example (#5214) 2024-01-11 18:38:48 -08:00
Mikel Blanchard d0620e6f0f
[repo] Add copyright header template to .editorconfig (#5206) 2024-01-09 16:50:09 -08:00
Mikel Blanchard aaae273d81
[repo] Bump StyleCop.Analyzers to latest NuGet (#5204) 2024-01-09 13:28:32 -08:00
Mikel Blanchard 88493d257c
[repo] CI improvements (#5023)
Co-authored-by: Yun-Ting <yunl@microsoft.com>
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2024-01-08 13:09:28 -08:00
Mikel Blanchard 6250307cb2
[repo] Update docs with third-party code inclusion guidance (#5195)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2024-01-08 12:51:27 -08:00
Steve Gordon d73ed6755d
Update aspnetcore docs to remove prerelease (#5203) 2024-01-08 09:48:01 -08:00
Yun-Ting Lin 0889e8dc32
Add otlp log extension methods for LoggerProviderBuilder (#5103) 2023-12-22 18:29:00 -08:00
Utkarsh Umesan Pillai e3759a1e0e
Remove unnecessary package reference from SDK (#5198) 2023-12-21 17:22:41 -08:00
Mikel Blanchard 14ee5c456e
[repo] Include license files in packages (#5192) 2023-12-19 15:45:49 -08:00
Nick Craver 9d8ef708a3
AggregatorStore: don't double-count drops in doubles (#5193) 2023-12-19 14:52:42 -08:00
Mikel Blanchard 63fe0f3cc7
[repo] Add THIRD-PARTY-NOTICES file (#5190) 2023-12-19 11:05:16 -08:00
Cijo Thomas 65dd83b44e
Improve docs on Resources to encourage its usage (#5185) 2023-12-18 13:33:30 -08:00
Mikel Blanchard af83eb1043
[sdk-logs] Keep LogRecord.State & LogRecord.Attributes in sync if either is updated by a log processor (#5169) 2023-12-14 22:10:12 -08:00
Robert Coltheart 7eeae5b114
Scope info should only be exported for Prometheus if OpenMetrics is requested (#5182) 2023-12-14 21:00:35 -08:00
Robert Coltheart 3c986e894c
Add scope info and version to Prometheus exporter (#5086) 2023-12-14 16:44:22 -08:00
Utkarsh Umesan Pillai 2961ff56c7
Update main README (#5181) 2023-12-14 15:34:40 -08:00
Utkarsh Umesan Pillai bea458a010
Update README.md (#5180) 2023-12-14 13:51:08 -08:00
dependabot[bot] c0969d059e
Bump actions/upload-artifact from 3 to 4 (#5178) 2023-12-14 11:31:57 -08:00
Vishwesh Bankwar 4842364500
[HttpClient & Asp.Net Core] Update Readme.md (#5168) 2023-12-13 19:15:35 -08:00
Cijo Thomas 2bccad8ca7
Tweaks to ActivityCreation benchmarks (#5173) 2023-12-13 19:05:28 -08:00
Utkarsh Umesan Pillai 1477c852b3
Update CHANGELOG for 1.7.0 release of AspNetCore and Http instrumentation libraries (#5175) 2023-12-13 18:17:57 -08:00
Utkarsh Umesan Pillai 3ffbef3d1a
Update OTel latest stable version to 1.7.0 (#5174) 2023-12-13 18:07:55 -08:00
Utkarsh Umesan Pillai f77307b54e
Update CHANGELOG for 1.6.0 release of AspNetCore and Http instrumentation libraries (#5171) 2023-12-13 16:55:27 -08:00
Utkarsh Umesan Pillai 080ed3d167
Add MinVerTagPrefix for AspNetCore and Http instrumentation libraries (#5170) 2023-12-13 15:44:11 -08:00
Vishwesh Bankwar ecaa601730
[HttpClient] Minor refactor (#5164) 2023-12-13 12:00:41 -08:00
dependabot[bot] 5eaed73507
Bump github/codeql-action from 2 to 3 (#5167) 2023-12-13 11:37:13 -08:00
Utkarsh Umesan Pillai a736574764
Minor refactoring for instrumentation libraries (#5162) 2023-12-12 16:44:33 -08:00
Vishwesh Bankwar 7fec53d777
Rename extension classes for HttpClient and Asp.Net Core (#5161) 2023-12-12 15:16:33 -08:00
Utkarsh Umesan Pillai 486ee5809d
Remove unused code from Http instrumentation (#5159) 2023-12-12 10:58:19 -08:00
Utkarsh Umesan Pillai 0278deb7ae
Minor perf improvement for AspNetCore instrumentation (#5157) 2023-12-11 20:56:26 -08:00
Mikel Blanchard ffc17408fd
[exporter-logs] Add ExperimentalAttribute decorations for experimental APIs (#5155) 2023-12-11 15:17:36 -08:00
Mikel Blanchard 0680ae3f9b
[hosting-logs] ExperimentalAttribute decorations for experimental APIs (#5154) 2023-12-11 14:27:05 -08:00
Mikel Blanchard 38468744a5
[sdk-metrics] ExperimentalAttribute decorations for experimental exemplar APIs (#5153)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2023-12-11 12:17:18 -08:00
Utkarsh Umesan Pillai cd000be6ba
Minor perf optimization (#5152) 2023-12-11 10:24:43 -08:00
Mikel Blanchard 13791e268e
[sdk-logs] ExperimentalAttribute decorations for experimental log APIs (#5151) 2023-12-08 21:45:55 -08:00
Cijo Thomas 2a850d6498
Add main readme for traces with best practices (#5144) 2023-12-08 18:06:21 -08:00
Utkarsh Umesan Pillai f69c025178
Update CHANGLEOG for 1.7.0 (#5149) 2023-12-08 15:54:02 -08:00
Mikel Blanchard ecef81d551
[api-extensions-logs] ExperimentalAttribute decoration for experimental APIs (#5148) 2023-12-08 15:00:50 -08:00
Nils Gruson f075128b12
Solve 404 error in unit test (#5145) 2023-12-08 11:43:00 -08:00
Mikel Blanchard f5c116001f
[api-logs] Define OTEL1000 & OTEL1001 diagnostics and decorate APIs (#4963)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2023-12-08 09:31:54 -08:00
Cijo Thomas 93fd7d34a7
Doc fix for RecordException (#5143) 2023-12-07 17:57:16 -08:00
Vishwesh Bankwar 58e8f24782
Add grpc instrumentation with experimental feature flag (#5130) 2023-12-07 14:58:57 -08:00
dependabot[bot] ff3956350e
Bump actions/stale from 8 to 9 (#5142) 2023-12-07 11:06:27 -08:00
Utkarsh Umesan Pillai ac56c9f0df
Update documentation comments for `OpenTelemetryDependencyInjectionMeterProviderBuilderExtensions.ConfigureServices` (#5139) 2023-12-07 10:53:37 -08:00
Reiley Yang 57ee852470
Simplify copyright disclaimer (#5140) 2023-12-07 10:04:56 -08:00
Robert Coltheart 7419d854e6
Export OpenMetrics format for prometheus exporters (#5107) 2023-12-06 16:18:25 -08:00
Nils Gruson 4cf2bf433e
Moq cleanup (#5133) 2023-12-06 12:02:29 -08:00
Nils Gruson a963ec809a
Removed Moq dependency from Instrumentation.AspNetCore.Tests (#5123) 2023-12-05 18:55:47 -08:00
Nils Gruson cd5b753785
Removed Moq dependency from Instrumentation.Grpc.Tests (#5124) 2023-12-05 18:42:59 -08:00
Nils Gruson 3619a6f2f1
Removed Moq dependency from OpenTelemetry.Tests (#5128) 2023-12-05 18:25:22 -08:00
Nils Gruson f11801da92
Removed Moq dependency from Shims.OpenTracing.Tests (#5126) 2023-12-05 10:39:27 -08:00
Nils Gruson 5ca1124466
Removed Moq dependency from Exporter.OpenTelemetryProtocol.Tests (#5118) 2023-12-05 10:21:29 -08:00
Nils Gruson d617171951
Removed Moq dependency from OpenTelemetry.Instrumentation.Http.Tests (#5115) 2023-12-05 10:08:41 -08:00
Nils Gruson bb3a91a61f
Removed Moq dependency from Benchmarks (#5116) 2023-12-04 15:54:04 -08:00
Nils Gruson 8369c2090f
Removed Moq dependency from Exporter.Prometheus.AspNetCore.Tests (#5119) 2023-12-04 12:36:14 -08:00
Nils Gruson 41d888373f
Removed Moq dependency from Exporter.Zipkin.Tests (#5121) 2023-12-04 12:23:09 -08:00
Nils Gruson 4cec27415d
Removed Moq dependency from Extensions.Hosting.Tests (#5122) 2023-12-04 12:08:19 -08:00
Nils Gruson a3d2fec0f2
Removed Moq dependency from Instrumentation.SqlClient.Tests (#5125) 2023-12-04 11:43:13 -08:00
dependabot[bot] fba99e1254
Bump actions/setup-dotnet from 3 to 4 (#5127) 2023-12-04 11:31:40 -08:00
Nils Gruson 8d2162ff4d
Removed Moq dependency from Exporter.Prometheus.HttpListener.Tests (#5120) 2023-12-04 11:00:23 -08:00
Nils Gruson 55f76f60d8
Removed Moq dependency from Api.Tests (#5117) 2023-12-04 10:31:55 -08:00
Utkarsh Umesan Pillai 4a8f99ee71
Update CHANGELOG for 1.6.0-rc.1 release of AspNetCore and HttpClient instrumentation libraries (#5113) 2023-12-01 17:00:23 -08:00
Utkarsh Umesan Pillai 9dbd22dbfe
[Instrumentation.AspNetCore] Use static Meter and Histogram (#5112) 2023-12-01 16:42:34 -08:00
Vishwesh Bankwar c5f5dd7dbd
[HttpWebRequest] Add additional error types (#5111) 2023-12-01 15:47:01 -08:00
Vishwesh Bankwar c48c014b50
Rename AspNetCoreInstrumentationOptions (#5108) 2023-12-01 15:19:05 -08:00
Vishwesh Bankwar 94c20c684b
Remove userAgent tag from HttpClient activity (#5110) 2023-12-01 14:43:05 -08:00
Vishwesh Bankwar 61c6c748ad
Rename HttpClientInstrumentationOptions (#5109) 2023-12-01 11:35:36 -08:00
Vishwesh Bankwar 9211cee8bf
[HttpClient & ASP.NET Core] Document request durations (#5079) 2023-11-30 20:11:41 -08:00
Utkarsh Umesan Pillai f592dcf4b1
Update benchmarks for Traces and Logs (#5104) 2023-11-30 12:03:27 -08:00
Utkarsh Umesan Pillai c637263136
Update CHANGELOG for 1.7.0-rc.1 (#5100) 2023-11-29 15:45:29 -08:00
Vishwesh Bankwar 014d5a1bd5
Fix Console metric exporter null reference (#5099) 2023-11-29 15:33:36 -08:00
Mikel Blanchard a47b222101
[logging] UseOpenTelemetry extension & WithLogging default behavior (#5072) 2023-11-29 15:15:46 -08:00
Vishwesh Bankwar 39c77d40f8
[ASP.NET Core] Remove grpc server instrumentation (#5097) 2023-11-29 15:04:31 -08:00
Vishwesh Bankwar 4f73d2b78a
[ASP.NET Core] Remove netstandard2.1 target (#5094) 2023-11-29 11:56:20 -08:00
Nils Gruson 79aa39fb7e
Removed usage of Mock<BaseProcessor> (#5095) 2023-11-29 11:44:13 -08:00
Vishwesh Bankwar 6a829dd363
[HttpClient] Remove SDK dependency (#5077) 2023-11-29 11:22:06 -08:00
Utkarsh Umesan Pillai 4e390e3284
Rafactor OtlpMetricExporter (#5091) 2023-11-28 18:32:14 -08:00
Cijo Thomas 97442efb5d
Add support for instrumentation scope attributes (Meter tags) (#5089) 2023-11-28 17:31:43 -08:00
Vishwesh Bankwar e6f97bc92f
[HttpClient] Fix activity displayName (#5078) 2023-11-28 17:15:11 -08:00
Piotr Kiełkowicz f96ca5cf41
Martin Thwaites - triager (#5074) 2023-11-28 15:09:50 -08:00
Utkarsh Umesan Pillai 617ac6c04a
Update Metrics Benchmarks (#5081) 2023-11-28 14:57:04 -08:00
Utkarsh Umesan Pillai 324ab61fa1
Remove threshold for MetricPoint reclaim (#5087) 2023-11-28 13:42:57 -08:00
Vishwesh Bankwar eec09c9fa5
[ASP.NET Core] Remove SDK dependency (#5075) 2023-11-22 17:27:49 -08:00
Mikel Blanchard 4d61dbad0d
[otlp] Improve README around using Options API for configuration (#5080) 2023-11-22 16:40:16 -08:00
Mikel Blanchard e383b5db86
[sdk + otlp] Add log processor factory overload (#4916) 2023-11-22 14:46:07 -08:00
Nils Gruson f9c300b284
Use test host in unit tests (#5040) 2023-11-22 14:05:10 -08:00
Mikel Blanchard 1f7f9315dc
[hosting] Support .NET 8 IMetricsBuilder API (#4958) 2023-11-21 16:17:40 -08:00
Vishwesh Bankwar 0c4f065484
[ASP.NET Core] Remove OTEL_SEMCONV_STABILITY_OPT_IN (#5066) 2023-11-21 13:42:10 -08:00
Vishwesh Bankwar a55341a50b
[HttpClient] Remove OTEL_SEMCONV_STABILITY_OPT_IN (#5068) 2023-11-21 12:32:06 -08:00
Vishwesh Bankwar 7dff32480d
Add note about .NET8.0 metrics in readme (#5067) 2023-11-21 11:36:52 -08:00
Christoffer Hjalmarsson 2b62e476ee
Add metric bucket override for OpenTelemetry.Instrumentation.AspNet (#5063) 2023-11-20 15:10:57 -08:00
Utkarsh Umesan Pillai 276b307943
Update CHANGELOG for 1.6.0-beta.3 release of instrumentation libraries (#5061) 2023-11-17 15:13:53 -08:00
Vishwesh Bankwar 0256f875d4
Http Span Status - Default to Unset if not in range defined by spec (#5060) 2023-11-17 14:02:24 -08:00
Alan West 68eabf0188
Fix Activity http.route and name (#5026) 2023-11-17 12:28:32 -08:00
Vishwesh Bankwar 2a228f9234
Refactor HttpWebRequestActivitySource (#5055) 2023-11-17 12:07:00 -08:00
Yun-Ting Lin d3461964ca
add concurrency tests with Coyote to CI (#4879) 2023-11-17 11:10:05 -08:00
Utkarsh Umesan Pillai f2c225519d
Make MetricPoint reclaim an opt-in experimental feature (#5052) 2023-11-16 14:51:15 -08:00
Piotr Kiełkowicz bdd931e08c
Fix histogram for dns.lookup.duration (#5058) 2023-11-16 11:58:29 -08:00
Vishwesh Bankwar e904994fab
[HttpClient & HttpWebRequest] Set network protocol version from response object (#5043) 2023-11-15 15:21:00 -08:00
Utkarsh Umesan Pillai c337d1ea84
[repo] Misc changes (#5053) 2023-11-15 14:08:03 -08:00
Vishwesh Bankwar b0f9607a80
Upgrade rc dependencies to net8.0 stable (#5051) 2023-11-14 15:28:32 -08:00
Vishwesh Bankwar 201811aa87
[HttpClient and ASP.NET Core] Fix failures due to changes in .NET8.0 stable release (#5049) 2023-11-14 14:17:29 -08:00
Mikel Blanchard ecb5dc8732
[sdk] Ignore event counters in SelfDiagnosticsEventListener (#5046) 2023-11-13 17:07:29 -08:00
Vishwesh Bankwar 78ab35cefd
[ASP.NET Core] Remove suppression for metrics generated from prometheus (#5044) 2023-11-13 13:52:59 -08:00
Cijo Thomas 0bc3bdc7ff
Fixed resource readme to reflect actual default (#5045) 2023-11-13 13:25:42 -08:00
Nils Gruson c062e12ea9
Removed InProcServerTests.cs (#5041)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2023-11-10 15:37:32 -08:00
Vishwesh Bankwar 66373082d8
[HttpClient] update `network.protocol.version` values as per specification (#5006) 2023-11-10 14:29:55 -08:00
Vishwesh Bankwar 4ccee25c9f
[ASP.NET Core] update `network.protocol.version` values as per spec (#5007) 2023-11-09 16:27:17 -08:00
Vishwesh Bankwar b7bc57b6cd
[HttpClient] Fix errorType statusCode (#5039) 2023-11-09 15:37:02 -08:00
Vishwesh Bankwar 94ede6e6a9
[HttpWebRequest] Add `error.type` for trace and metric (#5034) 2023-11-09 14:21:57 -08:00
Dan Nelson 00750ddcca
Fix broken links (#5033) 2023-11-09 10:21:01 -08:00
Alan West 0a989a942f
Add test suite to analyze ASP.NET Core routing scenarios (#4950) 2023-11-09 09:57:55 -08:00
Timothy Mothra f25ff3a4f4
[AspNetCore] [Http] remove Activity Status Description and update unit tests (#5025) 2023-11-08 17:38:55 -08:00
Vishwesh Bankwar 4a3c8d36b3
[HttpClient] Add `error.type` for traces and metrics (#5005)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
Co-authored-by: Timothy Mothra <tilee@microsoft.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2023-11-08 15:50:42 -08:00
Cijo Thomas 91ed41fcd9
Update SIG meeting time to 9AM (#5031) 2023-11-08 14:47:32 -08:00
Utkarsh Umesan Pillai f2ab97636c
[repo] Update Microsoft.Extensions.* packages (#5015) 2023-11-06 12:37:18 -08:00
Mikel Blanchard 5345863908
[repo] Bump Microsoft.Extensions.Logging.Configuration and clean up net462 targets (#5020) 2023-11-03 15:25:16 -07:00
Cijo Thomas 5e6eca84bb
Minor correction to Exemplar default (#5024) 2023-11-03 12:28:49 -07:00
Utkarsh Umesan Pillai 299a6c10f4
Remove zero bucket for the histogram buckets for ASP.NET Core and HttpClient metrics (#5021) 2023-11-03 11:48:15 -07:00
Vishwesh Bankwar d91be7751b
[ASP.NET Core] Add `error.type` attribute for tracing and metrics (#4986) 2023-11-03 11:35:29 -07:00
James Newton-King 37481f1ee6
[sdk] Customize known connection histograms buckets (#5008) 2023-11-02 18:07:07 -07:00
Mikel Blanchard c8f939e60b
[repo] dotnet format ci follow-up (#5012)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2023-11-02 15:34:52 -07:00
Julian Wreford defaffa91f
[Documentation] Update docs for selecting specific tags of a metric instrument (#5017) 2023-11-02 14:52:38 -07:00
Utkarsh Umesan Pillai ba161c492a
[Exemplars] Add isSampled check for Histograms (#5016) 2023-11-02 12:15:05 -07:00
Mikel Blanchard 9ba8887170
[repo] Remove old .net 6 workaround code from test props (#5014) 2023-11-01 15:55:59 -07:00
J. Kalyana Sundaram e454dc9dc8
A code sample to show how to create new root activities that link to a previously current activity. (#4957) 2023-11-01 15:06:26 -07:00
Tom Biddulph 2de73b2c12
[repo] Update dotnet format ci job (#4881)
Co-authored-by: Reiley Yang <reyang@microsoft.com>
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2023-11-01 12:20:52 -07:00
Piotr Kiełkowicz ff9912f87a
W3C Trace propagator tests - switch to level 1 (#4937) 2023-11-01 01:11:13 -07:00
Vishwesh Bankwar d1d6d4b720
[HttpClient & HttpWebRequest] Set `http.request.method` as per spec (#5003) 2023-10-31 18:16:23 -07:00
Vishwesh Bankwar 5cb7a3fca9
[ASP.NET Core] Set `http.request.method` as per spec (#5001) 2023-10-31 11:50:58 -07:00
ImoutoChan b45b8a9a12
Check isSampled parameter in UpdateWithExemplar method (#5004) 2023-10-30 20:19:14 -07:00
Vishwesh Bankwar 86a6ba0b7f
fix global.json (#5002) 2023-10-27 13:39:44 -07:00
Vishwesh Bankwar d76aa77011
update test packages and global.json to net8.0 rc.2 (#5000) 2023-10-27 12:41:57 -07:00
Piotr Kiełkowicz 0839431cd6
Shim - remove reference to 1.6.0-beta.2 (#4998) 2023-10-27 01:34:39 -07:00
Utkarsh Umesan Pillai 8463f60a51
Update CHANGELOG for 1.6.0-beta.2 release for non-core components (#4995) 2023-10-26 16:51:13 -07:00
Vishwesh Bankwar 74ad003000
[HttpClient & ASP.NET Core] Change metric descriptions as per spec (#4990) 2023-10-26 16:19:13 -07:00
Vishwesh Bankwar f7b4ae1b67
Add `url.scheme` to `http.client.request.duration` metric (#4989) 2023-10-26 14:55:15 -07:00
Timothy Mothra 3c3ba093d5
Improve changelog to indicate which version of sdk (#4991) 2023-10-26 14:12:52 -07:00
Mikel Blanchard cd8de07562
[sdk] Generate a consistent instanceId for the lifetime of a process (#4988) 2023-10-25 14:07:34 -07:00
Julius Koval c0a55775b4
making OtlpLogExporter public (#4979) 2023-10-25 10:42:02 -07:00
Cijo Thomas 637ddcfe4c
Benchmarks for metrics modified to have a metric reader (#4974) 2023-10-24 10:33:31 -07:00
Vishwesh Bankwar faa70be1b3
Remove Enrich and Filter for ASP.NET Core metrics (#4981)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2023-10-23 15:44:15 -07:00
Vishwesh Bankwar d07d03086a
Add support for .NET8.0 HttpClient metrics (#4931) 2023-10-20 13:47:28 -07:00
Vishwesh Bankwar 38e21a99bb
[ASP.NET Core] Add support for .NET8.0 specific metrics (#4934) 2023-10-20 12:40:38 -07:00
Mikel Blanchard 50d3af0aff
[repo] Fix conflicts caused by DS upgrade (#4967) 2023-10-19 16:47:01 -07:00
Mikel Blanchard 0f58eb153f
[repo] Public API file cleanup part 4 (#4969) 2023-10-19 14:42:46 -07:00
Mikel Blanchard 296b62de6a
[repo] Public API file cleanup part 3 (#4966) 2023-10-19 11:34:08 -07:00
Mikel Blanchard aa32b119b4
[repo] Public API file cleanup part 2 (#4962) 2023-10-18 17:52:06 -07:00
Mikel Blanchard d04fb289d9
[repo] Public API file cleanup part 1 (#4960) 2023-10-18 11:57:12 -07:00
Vishwesh Bankwar 1ec7a63571
Add .NET8.0 targets to projects (#4918) 2023-10-17 19:48:13 -07:00
Utkarsh Umesan Pillai 83ea1ec83d
Update DiagnosticsSource package version (#4959) 2023-10-17 17:56:47 -07:00
Reiley Yang c257ba598d
Minor clean up for console logging doc (#4949) 2023-10-16 20:38:29 -07:00
Utkarsh Umesan Pillai e66f4f3bf7
Fix publish package workflow (#4954) 2023-10-16 17:04:10 -07:00
Utkarsh Umesan Pillai f63b0adf64
Update CHANGELOG for 1.7.0-alpha.1 (#4952) 2023-10-16 15:05:17 -07:00
Vishwesh Bankwar 33fdd4769a
Add ability to export attributes corresponding to `Logrecord.EventId` (#4925) 2023-10-16 14:05:40 -07:00
Vishwesh Bankwar 037cda86d8
[OTLP] Export LogRecord.CategoryName as InstrumentationScope name (#4941) 2023-10-16 13:17:38 -07:00
Reiley Yang 18c85fa403
Bump Microsoft.Extensions.Logging to net8 - part 2 (#4933) 2023-10-13 12:22:35 -07:00
Vishwesh Bankwar b091af1899
[ASP.NET Core] Disable Flaky test (#4947) 2023-10-13 09:36:29 -07:00
Mikel Blanchard 865bcb64a5
[repo] Package validation tweaks deux (#4927) 2023-10-12 18:04:18 -07:00
Mikel Blanchard 8cc43f23e2
[sdk] Ignore event counters in debug EventListener (#4942) 2023-10-12 11:05:16 -07:00
Yun-Ting Lin 59f1d2ce8d
unblock documentation-only PRs for aot-ci (#4938) 2023-10-11 16:55:07 -07:00
Piotr Kiełkowicz 3c2bb7c93d
Fix `TraceContextPropagator` behavior when trace parent flags contain… (#4893) 2023-10-06 16:37:44 -07:00
Reiley Yang eaf1d88021
Update examples to support net8.0 (#4902) 2023-10-06 16:16:23 -07:00
Reiley Yang f01db2bdfb
Bump Microsoft.Extensions.Logging to net8 (#4920) 2023-10-06 10:58:04 -07:00
Vishwesh Bankwar d76542e9da
[ASP.NET Core] Add net8 target (#4924) 2023-10-05 17:53:59 -07:00
Timothy Mothra be45aab2ba
[Instrumentation.Http] follow up from previous pr (#4919) 2023-10-05 17:17:53 -07:00
Mikel Blanchard c2293e088e
[repo] Package validation tweaks (#4923) 2023-10-05 15:05:37 -07:00
Mikel Blanchard d4d5122316
[api] Fix memory leaks in TracerProvider.GetTracer API (#4906) 2023-10-05 11:41:32 -07:00
Dan Nelson 3e885c77f2
[hosting] Register OpenTelemetry at the beginning of IServiceCollection (#4883)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2023-10-05 11:11:58 -07:00
mfogliatto f63e6e5362
[repo] Uptake .NET Package Validation (#4767)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2023-10-05 09:57:27 -07:00
Reiley Yang dc1f09d4b9
Fix TFM bugs (#4912) 2023-10-03 11:54:08 -07:00
Vishwesh Bankwar c18ff6593a
[otlp] Add log exception attributes under feature flag (#4892)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2023-10-03 11:19:40 -07:00
Reiley Yang b0038ae9b3
Use TFM specific package version (#4911) 2023-10-02 19:15:15 -07:00
Matt Hensley 4124d219fc
[http] Add http.client.request.duration metric and .NET Framework support (#4870)
Co-authored-by: Johannes Tax <johannes@johannes.tax>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
2023-10-02 17:06:27 -07:00
Yun-Ting Lin 8ea6bb951c
upgraded the build/CI to use net8.0 (#4876) 2023-10-02 15:58:32 -07:00
Amir Solhi bb57319f95
[hosting] README typo fixes (#4910) 2023-10-02 15:35:37 -07:00
Reiley Yang b22c7a9372
Clean up TFMs for tests (#4907) 2023-10-02 09:29:30 -07:00
Mikel Blanchard 23b041c553
[api] Fix Tracer.StartRootSpan so that it always creates a root span (#4890) 2023-09-29 14:36:51 -07:00
Reiley Yang 043272e6d5
Clean up TFMs for docs (#4904)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2023-09-29 14:11:30 -07:00
Reiley Yang d8ec26b575
Extract TFM for DLLs shipped from this repo (#4903) 2023-09-29 13:24:28 -07:00
Reiley Yang a09b623992
Improve the README of console logging example (#4901) 2023-09-28 21:31:20 -07:00
Reiley Yang c03ee85a74
Minor cleanup (#4899) 2023-09-28 20:46:21 -07:00
Reiley Yang aeca53949a
Improve the logging tutorial by clarifying DI vs. exlicit logging pipeline (#4897) 2023-09-28 16:53:33 -07:00
Mikel Blanchard 0b2d0367b2
[sdk] Build extension behavior tweaks (#4885) 2023-09-28 10:26:58 -07:00
Piotr Kiełkowicz 6e2f44254e
OTLP LogExporter limits configuration by env. var. (#4887) 2023-09-27 10:13:27 -07:00
Reiley Yang bc1badf3ae
Update more examples to align with the recommended path (#4886) 2023-09-26 22:19:38 -07:00
Tom Biddulph a80d7ce711
[sdk] Allow `/` in metric instrument names (#4882)
Co-authored-by: Reiley Yang <reyang@microsoft.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2023-09-26 11:48:23 -07:00
Mikel Blanchard 48b4a8c4e8
[api] Nullable annotations for the trace folder (#4873) 2023-09-25 17:10:45 -07:00
Reiley Yang 9302891028
Simplify/improve Prometheus tutorial (#4878) 2023-09-25 10:19:33 -07:00
Utkarsh Umesan Pillai 2a480cd732
Update AggregatorStore to reclaim unused MetricPoints for Delta aggregation temporality (#4486)
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
2023-09-24 22:55:42 -07:00
Reiley Yang f468dd8359
Use OTLP push mode in Prometheus tutorial (#4874)
Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
2023-09-22 15:13:12 -07:00
Reiley Yang 535c81912b
Improve console logging example by explaining more about Dispose (#4869) 2023-09-21 13:39:18 -07:00
Yun-Ting Lin 15a54bb7a1
added NET8 RC1 target (#4868) 2023-09-21 10:42:30 -07:00
Eric Erhardt f3da99f4ea
Address AOT warnings in Exporter.OpenTelemetryProtocol (#4859) 2023-09-20 10:51:15 -07:00
Vishwesh Bankwar 7cb92d3b6d
[integration test] otlp log exporter (#4854) 2023-09-18 12:36:47 -07:00
Piotr Kiełkowicz 224a4cc250
Use dotnet-coverage instead of CodeCoverage.exe (#4857) 2023-09-18 12:00:20 -07:00
Reiley Yang 7eb3e7322e
Align console logging example with ASP.NET Core logging example (#4855) 2023-09-18 11:37:36 -07:00
Robert Pająk fc1100f794
Move @pellared to emeritus (#4856) 2023-09-18 11:12:19 -07:00
Piotr Kiełkowicz 2c5c034ec6
[OpenTracing.Shim] Remove obsolete constructor (#4862) 2023-09-18 11:05:13 -07:00
Utkarsh Umesan Pillai fe78453c03
Update docs projects (#4853) 2023-09-14 22:15:56 -07:00
Reiley Yang e9d0e2b035
Add ASP.NET Core logging example (#4821) 2023-09-14 17:44:29 -07:00
Timothy Mothra 9139b72128
HttpSemanticConventions - new metric in AspNetCore Instrumentation. (#4802) 2023-09-14 16:06:53 -07:00
Mikel Blanchard 680115f9dc
[sdk] Clean up nullable enable statements (#4848) 2023-09-14 13:59:17 -07:00
Mikel Blanchard b870ed9b0c
[sdk] Nullable annotations for the metrics folder (#4845) 2023-09-12 19:47:08 -07:00
John Huang b139e945f4
[dev.documentation] for up to 3 tags, its faster to directly pass the… (#4843) 2023-09-12 15:01:48 -07:00
Mikel Blanchard c97a233a9a
[sdk] Nullable annotations for the internal folder + some misc cleanup (#4841) 2023-09-11 10:10:27 -07:00
Mikel Blanchard 185d62254c
[sdk] Add missing XML comments and nullable decorations for public APIs (#4840) 2023-09-08 13:00:12 -07:00
Mikel Blanchard 459783f700
[repo] Common.prod.props & csproj cleanup (#4835) 2023-09-07 11:04:19 -07:00
Utkarsh Umesan Pillai 92cdcc55f8
Update OTel latest stable version (#4836) 2023-09-06 23:57:25 -07:00
Vishwesh Bankwar c0d75a727c
Readme update - remove *condition for logs (#4834) 2023-09-06 19:30:41 -07:00
James Newton-King 1f6d2cc873
Fix Prometheus exporter writing bool label values (#4823) 2023-09-06 18:05:17 -07:00
Vishwesh Bankwar 0228fb9718
[otlp] Clarify breaking change for stable release (#4829) 2023-09-06 16:44:14 -07:00
Mikel Blanchard 5cc1f39cbd
[build] Fix more ordering issues with ExposeExperimentalFeatures compiler switch (#4832) 2023-09-06 11:55:01 -07:00
Mikel Blanchard 268d29a866
[build] Fix ordering issues with ExposeExperimentalFeatures compiler switch (#4828) 2023-09-05 21:24:50 -07:00
Utkarsh Umesan Pillai 4427e881af
Update CHANGELOG for 1.6.0 (#4827) 2023-09-05 16:40:49 -07:00
Samuel Lam a0084f27a9
[sdk] Hardcode known histograms using seconds (#4820) 2023-09-05 15:24:53 -07:00
Vishwesh Bankwar 74ca717131
[otlp] Update changelog to indicate breaking change between pre-release and stable version (#4826) 2023-09-05 14:05:28 -07:00
dependabot[bot] 34544bdb5e
Bump actions/checkout from 3 to 4 (#4824) 2023-09-04 14:25:42 -07:00
Vishwesh Bankwar 72d0a6c9d0
[otlp] Add note on ilogger scopes (#4818) 2023-08-30 16:22:26 -07:00
Piotr Kiełkowicz 759d54076e
[OpenTracing.Shim] TracerShim constructor (#4812) 2023-08-30 16:12:59 -07:00
Alan West 1da0297328
Implement OTLP retry mechanism (#4616) 2023-08-29 17:34:59 -07:00
Vishwesh Bankwar bb1253ece8
Add otlp log and trace exporter benchmarks (#4807) 2023-08-29 15:49:53 -07:00
Utkarsh Umesan Pillai f698b5daf4
Simplify locking in MetricPoint (#4808) 2023-08-29 14:59:49 -07:00
Vishwesh Bankwar 2adcf43079
[Otlp Readme]Add notes for configuring logging for different types of apps (#4806) 2023-08-28 18:02:37 -07:00
Utkarsh Umesan Pillai 192720f936
Update OTLP Exporter README (#4804) 2023-08-28 14:25:21 -07:00
Utkarsh Umesan Pillai 6570696fb3
Update default value for simple exemplar reservoir size (#4803) 2023-08-28 13:47:14 -07:00
Vishwesh Bankwar d0d91335fa
Fork in persistent storage implementation to otlp (#4793) 2023-08-25 13:20:02 -07:00
Cijo Thomas 0ee80d593c
Update README.md for example Asp.Net Core app (#4801) 2023-08-24 11:22:42 -07:00
Bezaleel Olakunori e330e57b04
Increase the character limit of the Meter instrument name (#4798) 2023-08-23 13:09:22 -07:00
Yun-Ting Lin 0d1cc3644b
[AOT] suppressed trimming warnings in `AspNetCore` and `GrpcNetClient` Instrumentation packages (#4795) 2023-08-22 14:09:49 -07:00
xiang17 73df32b967
Remove Jaeger Exporter - part 3: remove implementation and tests (#4796) 2023-08-22 10:49:28 -07:00
xiang17 2f6e1e5a48
Remove Jaeger Exporter - part 2: remove references in examples (#4788) 2023-08-21 15:37:10 -07:00
Utkarsh Umesan Pillai 02269fbd4e
Update CHANGELOG for 1.6.0-rc.1 release (#4794) 2023-08-21 13:29:17 -07:00
Utkarsh Umesan Pillai 2f5b6d7819
Add logging for metric overflow attribute (#4787) 2023-08-21 11:31:47 -07:00
Vishwesh Bankwar 97091de5f3
[otlp] Remove ilogger and exception attributes (#4781) 2023-08-21 10:53:56 -07:00
Utkarsh Umesan Pillai 77b3a1ea60
Fix CI workflow for markdown file only changes (#4786) 2023-08-18 14:35:12 -07:00
Mikel Blanchard 7d5722a74d
[shared] PropertyFetcher perf tweak (#4782)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2023-08-18 13:28:47 -07:00
Utkarsh Umesan Pillai 10b8a0aa6d
Update test package for AspNetCore instrumentation tests (#4785) 2023-08-18 13:11:25 -07:00
xiang17 d9d0e24412
Remove Jaeger Exporter - part 1: remove references in docs (#4777) 2023-08-18 11:17:37 -07:00
Utkarsh Umesan Pillai f6a1c04e81
Add OpenTelemetry.Api.Tests project to .sln file (#4784) 2023-08-17 18:38:42 -07:00
Utkarsh Umesan Pillai 37fb2c100a
Fix publish packages workflow (#4783) 2023-08-17 15:49:10 -07:00
Vitek Karas f23e804c3d
Remove unnecessary `RequiresUnreferencedCode` attribute. (#4772) 2023-08-17 15:34:50 -07:00
Timothy Mothra 91eb914962
HttpSemanticConventions - update helper class (#4765) 2023-08-17 14:54:41 -07:00
Yun-Ting Lin 5784b45c4e
[AOT] suppressed trimming warnings in HTTP Instrumentation package (#4770)
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Co-authored-by: Reiley Yang <reyang@microsoft.com>
2023-08-16 11:48:31 -07:00
James Newton-King 49031ba208
Update Prometheus exporter name and unit processing (#4753)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2023-08-16 10:53:05 -07:00
Yun-Ting Lin 031ed48714
[AOT] Marked SqlClient Instrumentation package as trim incompatible. (#4751)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2023-08-14 11:59:28 -07:00
Cijo Thomas e2943128c1
Use net7.0 for example projects (#4726) 2023-08-11 14:31:44 -07:00
Yun-Ting Lin c7730768d7
[AOT] Make `PropertyFetcher` AOT compatible. (#4675) 2023-08-10 17:18:09 -07:00
Mikel Blanchard 3b4db6df35
[build] Use compiler constant to toggle experimental public apis (#4735) 2023-08-10 13:50:09 -07:00
Vishwesh Bankwar a4fae4fcd5
Update example and Readme for otlp log exporter (#4747) 2023-08-10 12:03:31 -07:00
Utkarsh Umesan Pillai cf0b4d774f
Fix lock for PrometheusCollectionManager (#4760) 2023-08-09 22:11:57 -07:00
Mikel Blanchard 594d130ffc
[repo] Cleanup unused using statements (#4759) 2023-08-09 11:07:37 -07:00
Utkarsh Umesan Pillai 10a898932a
Add opt-in support for metric overflow attribute (#4737) 2023-08-08 18:12:07 -07:00
Alan West e227d0fb89
Use 7.0.306 .NET SDK images (#4757) 2023-08-08 17:35:28 -07:00
Piotr Kiełkowicz ee9d25a725
Bump Microsoft.CodeCoverage and Microsoft.NET.Test.Sdk to 17.6.3 (#4744) 2023-08-08 09:36:55 -07:00
Vishwesh Bankwar b0ab8d5fe7
Add logging for sampler added to tracerprovider (#4749) 2023-08-07 19:30:09 -07:00
Yun-Ting Lin eb9c30aa6b
[AOT] added AotCompatibility test app exit code assertion (#4743) 2023-08-07 18:32:47 -07:00
Reiley Yang 9e91904494
Remove Grpc.Tools version update (#4750) 2023-08-07 15:50:52 -07:00
Reiley Yang 6ef14c79d6
Clean up package dependencies (#4748) 2023-08-07 14:53:41 -07:00
Utkarsh Umesan Pillai a831093ae1
Update version of common packages (#4738) 2023-08-04 17:35:56 -07:00
Vishwesh Bankwar a869e61b7c
Additional extension method for otlp log exporter to configure processor options (#4733) 2023-08-04 15:43:33 -07:00
Alan West 8b5d725022
Add instructions for running OTLP integration test (#4741) 2023-08-04 14:19:01 -07:00
Reiley Yang a76564e33b
Improve logging getting-started example for console applications (#4740) 2023-08-03 17:26:05 -07:00
Yun-Ting Lin 01c38568df
Run AOT CI on Ubuntu. (#4734) 2023-08-02 14:42:51 -07:00
Yun-Ting Lin f148e11896
Added #nullable enable to `TagTransformerJsonHelper.cs` (#4724) 2023-08-01 17:15:42 -07:00
Alan West 909e52d4b1
Add OTLP exporter TLS integration test (#4732) 2023-08-01 14:20:16 -07:00
Yun-Ting Lin 19797814dc
[AOT] Added new CI for AOTCompatibility tests and removed unit test (#4717) 2023-07-31 16:29:51 -07:00
jarosal 24d08a6358
Add rule for file scoped namespaces (#4716) 2023-07-31 14:30:32 -07:00
Vitek Karas d349c27d16
[AOT] Trim compatibility of OpenTelemetryLoggerOptions with configuration binder (#4721) 2023-07-31 11:02:20 -07:00
Paulo Janotti 8f38400a14
Improve comments on the OpenTracing example (#4730) 2023-07-28 17:17:47 -07:00
Utkarsh Umesan Pillai 8b4c1bac4a
Add net6.0 target for GrpcClient instrumentation (#4718) 2023-07-28 15:49:19 -07:00
Paulo Janotti 89d9959d5f
[trivial/nit] Remove unused field in OpenTracing SpanManagerShim (#4729) 2023-07-28 15:36:12 -07:00
Utkarsh Umesan Pillai 3ff6dbd3ee
Fix issue of multiple instances of OpenTelemetry-Instrumentation EventSource being created (#4720) 2023-07-28 15:11:11 -07:00
jarosal ce1e196b49
Update OpenTelemetry.Instrumentation.W3cTraceContext.Tests to use fil… (#4710) 2023-07-28 11:38:22 -07:00
Utkarsh Umesan Pillai 02a40fc8b3
Remove OTLP Exporter Grpc project (#4719) 2023-07-28 10:41:44 -07:00
Vitek Karas 41daba44c2
[AOT] Remove usage of Linq.Expressions and especially lambda compilation (#4695) 2023-07-28 10:25:36 -07:00
jarosal 8c7173f3a5
Update OpenTelemetry.AotCompatibility.Tests to use filescoped namespaces (#4708) 2023-07-27 19:16:48 -07:00
jarosal 06b0a065ee
Update docs to use filescoped namespaces (#4715) 2023-07-27 18:01:13 -07:00
jarosal ef9576c073
Update examples to use filescoped namespaces (#4713) 2023-07-27 17:29:00 -07:00
Piotr Kiełkowicz 8517f024b2
Add Copyrights for libraries (#4705) 2023-07-27 17:11:24 -07:00
jarosal 434cec9e77
Update TestApp.AspNetCore to use filescoped namespaces (#4711) 2023-07-27 15:09:08 -07:00
jarosal 211ee43adb
Update Benchmarks to use filescoped namespaces (#4712) 2023-07-27 14:22:14 -07:00
jarosal eb07575d06
Update OpenTelemetry.Extensions.Hosting to use filescoped namespaces (#4709) 2023-07-27 11:10:43 -07:00
jarosal fcd225bf5a
Update OpenTelemetry.Instrumentation.SqlClient to use filescoped name… (#4707) 2023-07-27 10:51:36 -07:00
jarosal bb5072b582
Update OpenTelemetry.Instrumentation.Http to use filescoped namespaces (#4706) 2023-07-27 10:34:22 -07:00
Utkarsh Umesan Pillai 2852b22bf8
Enable public API check on non-Windows development environments (#4704) 2023-07-27 08:54:32 -07:00
jarosal dacc532d51
Update OpenTelemetry.Exporter.Prometheus.AspNetCore to use filescoped… (#4697) 2023-07-26 16:06:33 -07:00
jarosal 1d86af3ba5
Update OpenTelemetry.Exporter.Prometheus.HttpListener to use filescop… (#4698) 2023-07-26 13:55:16 -07:00
jarosal 4feeaa0c3c
Update OpenTelemetry.Extensions.Propagators to use filescoped namespaces (#4700) 2023-07-26 13:03:17 -07:00
Yun-Ting Lin 531ddf1dd7
[AOT] Removed UnconditionalSuppressMessageAttribute.cs (#4701) 2023-07-26 12:10:42 -07:00
Vitek Karas 2a7f9bb49a
[AOT] Annotate APIs which call `IServiceCollection.TryAddSingleton` for trim compatibility (#4688) 2023-07-26 11:19:30 -07:00
jarosal f0006d59ee
Update OpenTelemetry.Exporter.Zipkin to use filescoped namespaces (#4699) 2023-07-26 11:04:47 -07:00
Yun-Ting Lin 13bd3410f1
[AOT] Remove shim for UnconditionalSuppressMessageAttribute and use ifdefs (#4696) 2023-07-26 10:14:41 -07:00
Kyle Tully 0343116e77
File scoped namespaces instrumentation.grpc net client (#4692) 2023-07-25 12:25:02 -07:00
Yun-Ting Lin 1fa50fb538
[AOT] Make serialization of JSON arrays AOT compatible leveraging the source generator in System.Text.Json. (#4679) 2023-07-24 18:58:43 -07:00
jarosal a808276efa
Update OpenTelemetry.Shims.OpenTracing to use file scoped namespaces (#4680) 2023-07-24 10:40:25 -07:00
jarosal 0f9f507ed6
Update project OpenTelemetry.Exporter.Jaeger to use file scoped namespaces (#4684) 2023-07-21 17:16:14 -07:00
jarosal 8de6e69e5b
Update project OpenTelemetry.Exporter.OpenTelemetryProtocol to use fi… (#4685) 2023-07-21 16:20:15 -07:00
jarosal 7341a47913
Update OpenTelemetry.Exporter.InMemory to use file scoped namespaces (#4683) 2023-07-21 15:54:10 -07:00
Paulo Janotti d016bb15cd
Opentracing shim noop cases (#4668) 2023-07-21 14:30:09 -07:00
jarosal 358a1cd43d
Update OpenTelemetry.Exporter.Console to use file scoped namespaces (#4682) 2023-07-21 11:46:40 -07:00
Utkarsh Umesan Pillai 1d3bb4b977
Fix publish-packages workflow (#4678) 2023-07-20 18:37:34 -07:00
Utkarsh Umesan Pillai 0c54d1a808
Update instrumentation libraries CHANGELOG for 1.5.1-beta.1 (#4676) 2023-07-20 16:37:17 -07:00
Utkarsh Umesan Pillai 4ea1da95e0
Update instrumentation libraries csproj to use explicit package dependency (#4673) 2023-07-20 16:14:47 -07:00
Utkarsh Umesan Pillai 4edd9b6fc1
Add support for OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE environment variable (#4667) 2023-07-19 15:02:52 -07:00
Timothy Mothra e7f7cd6875
update Http Semantic Changes statement in changelog for instrumentation libraries (OTEL_SEMCONV_STABILITY_OPT_IN) (#4664) 2023-07-18 14:10:29 -07:00
Kyle Tully 67bd46db64
updated OpenTelemetry.Api files to use file scoped namespaces (#4663) 2023-07-18 14:07:14 -07:00
Vishwesh Bankwar bb45af2b9f
Add aspnetcore benchmarks for updated semantic conventions (#4665) 2023-07-18 13:22:50 -07:00
Alan West 9976dbc858
Add more info about OTEL_SEMCONV_STABILITY_OPT_IN (#4662) 2023-07-17 18:05:13 -07:00
Timothy Mothra b67ff88fd7
update Semantic Conventions: grpc attributes in aspnetcore (#4660) 2023-07-17 12:59:47 -07:00
Utkarsh Umesan Pillai 57151765a6
Move shared files outside of API and SDK - Part 3 (#4661) 2023-07-17 10:55:58 -07:00
Vishwesh Bankwar 91217ba044
Update semantic conventions for grpc client (#4658) 2023-07-14 16:11:57 -07:00
Timothy Mothra 4a3b97f18b
SemanticConventions: update link to v1.21.0 tag (#4659) 2023-07-14 15:24:43 -07:00
Kyle Tully 18f79788de
Updated src/OpenTelemetry and test/OpenTelemetry.Tests files to use f… (#4654) 2023-07-13 15:49:47 -07:00
Timothy Mothra 3f5c7742ff
Semantic Convention changes. correct link and update changelog. (#4655) 2023-07-13 15:31:39 -07:00
Utkarsh Umesan Pillai 1d1c7147d4
Move shared files outside of Api (#4652) 2023-07-13 14:22:35 -07:00
Timothy Mothra 5c347ac8e5
update HttpSemanticConventions for Instrumentation.Http (part2) (#4639) 2023-07-13 14:10:53 -07:00
Timothy Mothra 5b725de459
update HttpSemanticConventions for Instrumentation.SqlClient (#4644) 2023-07-13 13:54:01 -07:00
Utkarsh Umesan Pillai b5e836152a
Update CHANGELOG for 1.6.0-alpha.1 release (#4651) 2023-07-12 15:02:50 -07:00
Utkarsh Umesan Pillai d2b269a487
Use the correct SDK EventSource method to log invalid environment variable (#4649) 2023-07-12 11:22:14 -07:00
Utkarsh Umesan Pillai 5b6ac5230a
Move shared files outside of Sdk project - Part 2 (#4650) 2023-07-12 10:48:04 -07:00
Reiley Yang f95c689d25
Resolve CVE-2023-32731 (#4647) 2023-07-11 15:06:19 -07:00
Timothy Mothra b23b1460e9
[Instrumentation.AspNetCore] Fix issue causing Activity is not exported when used with custom propagator/sampler. (#4637) 2023-07-10 15:45:23 -07:00
Mikel Blanchard 66a606229e
[sdk.logs] Fix the version reported by LogRecord.Logger when using ILogger integration (#4635) 2023-07-10 10:12:25 -07:00
Vishwesh Bankwar ad08228dfe
Follow up from https://github.com/open-telemetry/opentelemetry-dotnet/pull/4627 (#4645) 2023-07-07 13:47:48 -07:00
Yun-Ting Lin b6b87d6a36
Aligning TFMs under src folder. (#4595) 2023-07-07 12:23:47 -07:00
Vishwesh Bankwar 56fdb161da
[Instrumentations] Use IConfiguration for semantic conventions compatibility check (#4627) 2023-07-06 15:00:31 -07:00
Mikel Blanchard 104cf32d97
[sdk] Merge 1.5.1 fixes to main (1.6 dev) (#4619) 2023-06-28 15:55:49 -07:00
Mikel Blanchard 1395b7fb7d
[sdk-debug] Add EventWrittenEventArgs.Level to the EventListener debug output (#4617) 2023-06-28 15:26:18 -07:00
Reiley Yang ba93beb03d
Update getting-started-aspnetcore tracing example to align with metrics (#4621) 2023-06-27 10:17:03 -07:00
Alan West 303a357895
Update OTelPreviousStableVer to 1.5.1 (#4620) 2023-06-26 17:09:10 -07:00
Reiley Yang ecd487226f
Nit: fix spacing (#4618) 2023-06-26 16:04:03 -07:00
mfogliatto f9171dc0f8
Add missing assertions to OtlpLogExporterTests (#4610) 2023-06-26 10:40:44 -07:00
Yun Chen 5f825cb8fc
bump grpc client version to fix unobserved exception (#4573) 2023-06-22 14:38:31 -07:00
Alan West bd0d8d6a5a
Add back Guard.ThrowIfNull batch options (#4608) 2023-06-21 18:52:46 -07:00
Timothy Mothra be51a687cc
update HttpSemanticConventions for Instrumentation.Http (#4538) 2023-06-21 17:43:58 -07:00
Vishwesh Bankwar f5e213c0ef
Otlp exporter doc update (#4607) 2023-06-21 15:31:51 -07:00
Vishwesh Bankwar 938bc5c794
Add LogRecordExportProcessorOptions for otlp log exporter (#4575) 2023-06-21 15:28:10 -07:00
Timothy Mothra de13eb631d
update HttpSemanticConventions for Instrumentation.AspNetCore (part2) (#4606) 2023-06-21 12:04:39 -07:00
Timothy Mothra 8e5e7dde39
update HttpSemanticConventions for Instrumentation.AspNetCore (#4537) 2023-06-20 19:33:01 -07:00
mfogliatto 7333a557b4
Add ToOtlpLog unit tests for scopes (cont.) (#4578) 2023-06-20 18:53:15 -07:00
Reiley Yang b7821f7ee0
Remove zpages (#4604) 2023-06-20 18:18:12 -07:00
Vishwesh Bankwar 4712c3a9b0
[perf] Minor Httpclient improvement (#4572) 2023-06-20 15:08:58 -07:00
Cijo Thomas 5d321ce621
Move Cijo Thomas to approver (#4594) 2023-06-19 11:29:03 -07:00
Utkarsh Umesan Pillai 2916b2de80
Move shared utility files outside of Sdk project (#4592) 2023-06-15 13:51:59 -07:00
Utkarsh Umesan Pillai 542379e958
Fix issue of multiple instances of OpenTelemetry-Sdk EventSource being created (#4586) 2023-06-13 16:46:07 -07:00
Utkarsh Umesan Pillai b3ffb46e32
Remove property related to CodeCoverage from Common.props (#4577) 2023-06-12 19:20:34 -07:00
Reiley Yang 6ba9245f34
Remove the deprecated/unused dotnet-xunit dependency (#4574) 2023-06-12 19:00:53 -07:00
Utkarsh Umesan Pillai 039556d183
Update System.Diagnostics.DiagnosticSource package version to 7.0.2 (#4576) 2023-06-12 12:55:48 -07:00
Mikel Blanchard 04c7c0890a
[inmemory-logs] Expose LoggerProviderBuilder extension (#4584) 2023-06-12 11:30:02 -07:00
Mikel Blanchard 09399d8e6d
[console-logs] Expose LoggerProviderBuilder extension (#4583) 2023-06-12 10:59:24 -07:00
Reiley Yang 3274c43bc1
Add comments to package dependency to clarify the direction (#4550) 2023-06-09 17:08:59 -07:00
Mikel Blanchard d57e6f8688
[sdk-logs] Expose logging SDK implementation as public (#4568) 2023-06-09 15:44:45 -07:00
Yun Chen 2e57e2daab
Revert explicit net7 install (#4565) 2023-06-08 09:56:49 -07:00
Vishwesh Bankwar 5ca8e98f1f
[otlp log exporter] Move logs extension methods to main otlp package (#4556) 2023-06-08 09:13:40 -07:00
Piotr Kiełkowicz 9431d05c2f
Bump opentelemetry proto files to v0.20.0 (#4554) 2023-06-07 18:41:47 -07:00
Cijo Thomas 1029368673
Update LoggerProviderSdk.cs internal logging (#4561) 2023-06-07 17:19:19 -07:00
Mikel Blanchard 1143c52e73
[api-logs] Removed default parameter from the EmitLog API (#4559) 2023-06-07 14:57:28 -07:00
Mikel Blanchard f786f591d3
[di-logs] Expose logging implementation as public (#4558) 2023-06-07 14:05:06 -07:00
Mikel Blanchard 9e8c704fa2
[api-logs] Expose logging artifacts as public (#4552) 2023-06-07 12:26:16 -07:00
Utkarsh Umesan Pillai b911e7e118
Add Exemplars for 1.6.0 prerelease versions (#4553) 2023-06-07 11:10:55 -07:00
Vishwesh Bankwar 6e73bb9acf
Minor perf improvement aspnetcore (#4551) 2023-06-06 15:36:03 -07:00
Mikel Blanchard e74e0ed5dd
[console-exporter] Add extension on LoggerProviderBuilder (#4549) 2023-06-06 13:58:09 -07:00
Utkarsh Umesan Pillai a4575581f1
Fix AOT warnings for RuntimeContext (#4542) 2023-06-06 13:04:33 -07:00
Utkarsh Umesan Pillai 839de1ae19
Update previous stable version to 1.5.0 (#4547) 2023-06-05 19:26:35 -07:00
Utkarsh Umesan Pillai 494323ba27
Update CHANGELOG for 1.5.0 (core)/ 1.5.0-beta.1 (non-core) release (#4545) 2023-06-05 17:35:30 -07:00
Mikel Blanchard b9a0138a61
[inmemory-exporter] Add extension on LoggerProviderBuilder (#4541) 2023-06-02 17:10:28 -07:00
Eric Erhardt e67d44e9f7
[AOT] Resolve ConfigurationExtensions and EventSource warnings (#4534) 2023-06-02 11:44:27 -07:00
Utkarsh Umesan Pillai e7870196d3
Update ExponentialHistogram Benchmarks (#4539) 2023-06-01 17:06:59 -07:00
Utkarsh Umesan Pillai 1e60488e12
Add CHANGELOG entry for removing Exemplars (#4536) 2023-06-01 13:17:28 -07:00
Mikel Blanchard 9b5c483651
[hosting-logs] Don't register ILogger when calling WithLogging (#4535) 2023-06-01 12:27:38 -07:00
Utkarsh Umesan Pillai ccfbcc62d1
Mark Exemplars internal (#4533)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2023-05-31 20:32:43 -07:00
Mikel Blanchard 0ddbdb4e53
[di] Expose a detached LoggerProviderBuilder extension on IServiceCollection which may modify services (#4531)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2023-05-31 19:46:39 -07:00
Alan West 2f77b31d9c
Analysis of the imprecision of MapToIndex (#4509) 2023-05-31 18:10:01 -07:00
Alan West 6259af071d
Exponential histogram benchmarks (#4332) 2023-05-31 13:36:31 -07:00
Mikel Blanchard ba8fd47238
[di] Expose a detached MeterProviderBuilder extension on IServiceCollection which may modify services (#4517) 2023-05-31 12:52:55 -07:00
Alan West d89af8537e
Update example app demonstrating exponential histogram configuration (#4530) 2023-05-31 11:33:54 -07:00
Mikel Blanchard 0b816319ac
[Sdk] TracerProviderBuilderBase chained/fluent call fix (#4529)
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2023-05-31 10:54:02 -07:00
mfogliatto e85bd93673
Add ToOtlpLog unit tests for scopes (#4523) 2023-05-31 13:19:01 -04:00
Utkarsh Umesan Pillai 64df5e3df8
Add README for Metrics (#4528) 2023-05-31 02:20:15 -04:00
dependabot[bot] a0eb6961f4
Bump actions/setup-dotnet from 3.1.0 to 3.2.0 (#4524)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com>
2023-05-30 15:14:20 -07:00
Reiley Yang fe6c8d06ba
Fix typo (#4526) 2023-05-30 13:37:57 -07:00
Utkarsh Umesan Pillai a5b14aa76d
Update ConsoleExporter CHANGELOG (#4522) 2023-05-25 17:47:52 -07:00
Utkarsh Umesan Pillai ba3a4fa074
Update CHANGELOG for 1.5.0-rc.1 (#4519) 2023-05-25 16:39:08 -07:00
Timothy Mothra 601485d9d2
Add support for HttpSemanticConvention breaking changes (part2) (#4514) 2023-05-25 15:38:03 -07:00
dependabot[bot] f2477584f9
Bump actions/setup-dotnet from 3.0.3 to 3.1.0 (#4518)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-25 13:54:11 -07:00
Mikel Blanchard 107dd264c2
[di] Expose a detached TracerProviderBuilder extension on IServiceCollection which may modify services. (#4508) 2023-05-25 10:31:27 -07:00
Alan West eb12f9b386
Console exporter: Display exponential histogram boundaries (#4507) 2023-05-24 15:27:41 -07:00
Timothy Mothra 47d88e17a5
Add Support for HttpSemanticConvention breaking changes. (#4504) 2023-05-23 18:19:28 -07:00
Eric Erhardt f4f4469f21
[AOT] Resolve Trimming warnings in ActivityInstrumentationHelper (#4513) 2023-05-22 15:35:25 -07:00
Cijo Thomas 1510b76634
Update Log correlation doc to reflect removal of TraceState population (#4498) 2023-05-17 11:50:23 -04:00
Alan West 30ad91af37
Make exponential histogram negative buckets internal (#4494) 2023-05-16 14:45:33 -07:00
Cijo Thomas 8f513bbb8d
Update the link to properly point to OTLP LogExporter (#4492) 2023-05-16 12:32:25 -07:00
dependabot[bot] d46612c819
Bump codecov/codecov-action from 3.1.3 to 3.1.4 (#4491) 2023-05-16 12:14:26 -07:00
Alan West d5129b215d
Exponential histogram LowerBoundary implementation (#4465)
Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
2023-05-15 17:17:17 -07:00
Mikel Blanchard d63c32f9ca
[hosting-logs] Improve the OpenTelemetryBuilder.ConfigureResource test (#4485) 2023-05-15 11:00:55 -07:00
Mikel Blanchard 5357f17444
[hosting-logs] Add WithLogging (#4483)
Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
2023-05-12 15:36:16 -07:00
Alan West 01f3891b95
Document how to configure exponential histograms (#4481) 2023-05-12 11:47:22 -07:00
Utkarsh Umesan Pillai 5768a7567a
[Perf optimization] Reduce memory allocation for MetricReader Collect (#4482) 2023-05-12 11:36:54 -07:00
Mikel Blanchard 60ed9aa9a6
[sdk-logs] Add LoggerProvider extensions (#4480) 2023-05-11 17:04:00 -07:00
Mikel Blanchard f6fc73e02f
[sdk-logs] [nits] Update source files to use file scoped namespaces (#4476) 2023-05-10 14:31:54 -07:00
Mikel Blanchard 660d5b55cf
[sdk-logs] Update ILogger integration to use LoggerProvider (#4473) 2023-05-10 11:54:13 -07:00
Reiley Yang ce71d130ca
Minor improvement on the self-diagnostics doc (#4475) 2023-05-10 10:32:26 -07:00
Luiz Lelis fea6793a55
Clean up package version definitions using Directory.Packages.props (#4298)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2023-05-09 09:35:05 -07:00
Utkarsh Umesan Pillai 67f01170a0
Update Metrics benchmarks (#4472)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2023-05-09 10:42:46 -04:00
Mikel Blanchard 085df7a6a0
[sdk-logs] Tests and bug fixes for logging builder & provider (#4467) 2023-05-08 11:00:35 -07:00
Mikel Blanchard 4376564d8e
[di-tracing] Fix the TracerProviderBuilder.AddInstrumentation factory pattern extension (#4468) 2023-05-08 10:18:05 -07:00
Vishwesh Bankwar b9908d14f8
[ASP.NET Core] Do not reset baggage on request stop event (#4274) 2023-05-05 14:11:12 -07:00
Vishwesh Bankwar 25ab11ecda
Fix md error (#4469) 2023-05-05 13:50:44 -07:00
Mikel Blanchard c501cb3ada
[sdk-logs] Add Sdk.CreateLoggerProviderBuilder (#4464) 2023-05-05 11:46:51 -04:00
Mikel Blanchard 7e784e8e9b
[sdk-logs] Update the XML comments on BatchExportLogRecordProcessorOptions (#4463) 2023-05-04 15:17:43 -07:00
Mikel Blanchard 8f4d83a58e
[sdk-logs] LogRecord LogLevel/Severity conversion test (#4462) 2023-05-04 14:53:54 -07:00
Yun-Ting Lin 88e8439efa
[AOT] suppress IL2026 (#4428) 2023-05-02 17:53:49 -07:00
Mohammad Sadeq Sirjani c73a70d74a
Refactoring: Removing Unused Default Values and Unnecessary Timeout Field (#4418) 2023-05-02 17:05:59 -07:00
Mikel Blanchard 455b9a8258
[sdk-logs] Update LogRecord for Logger API additions (#4456) 2023-05-02 13:25:57 -07:00
Mikel Blanchard 3884bee5f2
[sdk-logs] Define LoggerSdk (#4455) 2023-04-28 14:42:50 -07:00
Mikel Blanchard f772e9321c
[sdk-logs] Implement LoggerProviderSdk (#4453) 2023-04-28 13:43:22 -07:00
Mikel Blanchard 361750c45d
[api-logs] LogRecordSeverity enum tweaks (#4451) 2023-04-28 10:06:17 -07:00
Utkarsh Umesan Pillai bb16c20612
Add allocation details for AspNetCore instrumentation benchmarks (#4452) 2023-04-28 12:46:28 -04:00
Mikel Blanchard 1b9290e0e7
[sdk-logs] Add LoggerProviderBuilderExtensions to SDK (#4450) 2023-04-27 13:28:21 -07:00
xiang17 6c9c48f23f
Fix flaky unit tests of SelfDiagnosticsConfigRefresher (#4448) 2023-04-27 12:47:56 -07:00
Mikel Blanchard 19b666ec1e
[sdk-logs] Add LoggerProviderBuilderSdk to SDK (#4447) 2023-04-26 16:32:10 -07:00
Mikel Blanchard 4ebbccfe7b
[sdk-logs] Add BatchExportLogRecordProcessorOptions to SDK (#4446) 2023-04-26 15:51:57 -07:00
Mikel Blanchard e195dd8341
[sdk-logs] Add LoggerProviderServiceCollectionBuilder to SDK (#4441) 2023-04-26 14:57:04 -07:00
Alan West 39314f890d
OTLP exporter: Set observed timestamp (#4444) 2023-04-26 16:11:01 -04:00
Alan West 9d51cc3897
[OTLP Exporter] Revert Google.Protobuf version bump (#4407)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2023-04-25 21:14:07 -07:00
Mikel Blanchard 9d2c31aab0
[api-logs] Remove InstrumentationScope class (#4436) 2023-04-25 16:12:29 -07:00
Alan West 201beab7c0
Disable PublishAot for OSX (#4435) 2023-04-25 15:39:00 -07:00
Utkarsh Umesan Pillai 8084bde656
Update diagnostic logging for MeterProviderSdk (#4429) 2023-04-25 14:52:20 -07:00
Mikel Blanchard 2914002f30
[sdk + otlp] CHANGELOG tweaks to cover logging PR feedback (#4415)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2023-04-25 13:57:00 -07:00
Mikel Blanchard 7cec101bf8
[di-logs] Add internal artifacts for OTel spec log bridge API (#4434) 2023-04-25 11:34:14 -07:00
Mikel Blanchard 6a64dd2bc5
[api-logs] Add internal artifacts for OTel spec log bridge API (#4422) 2023-04-25 10:20:17 -07:00
Yun-Ting Lin ef0c921708
[AOT] Added publishAOT test app to ensure OpenTelemetry SDK is AOT safe. (#4392) 2023-04-21 12:08:57 -07:00
J. Kalyana Sundaram 58d9d69f58
Example to show how to achieve more consistent sampling across linked traces (#4346) 2023-04-21 10:47:03 -07:00
David Fowler 678e9c44da
Update Program.cs (#4411)
Co-authored-by: Reiley Yang <reyang@microsoft.com>
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2023-04-21 10:12:35 -04:00
dependabot[bot] 10eb79cddd
Bump codecov/codecov-action from 3.1.2 to 3.1.3 (#4414) 2023-04-20 13:54:07 -07:00
Utkarsh Umesan Pillai 996bae1076
Update HttpClientInstrumentation benchmarks (#4410) 2023-04-20 10:44:17 -07:00
Mikel Blanchard acbf10aa57
[sdk.logging] More consistent handling of StateValues/Attributes (#4334) 2023-04-20 10:23:58 -07:00
Vishwesh Bankwar bfb3e453ee
[ASP.NET Core] Fix `System.Text.Encodings.Web` vulnerability (#4399) 2023-04-19 16:33:39 -07:00
Utkarsh Umesan Pillai 586aa7eb6d
Update AspNetCore benchmarks (#4405) 2023-04-19 10:54:35 -07:00
Reiley Yang 9a7bd9f55a
Consistent docs title (#4401) 2023-04-18 12:58:03 -04:00
Reiley Yang 085cdd4f6f
Minor doc fixes (#4397) 2023-04-17 14:42:15 -07:00
Javier Rebagliatti 457a9e95a4
Add direct reference to System.Text.Encodings.Web version 4.7.2 due to CVE-2021-26701 (#4390) 2023-04-17 11:27:29 -07:00
Yun-Ting Lin 30b7b79e9c
added a test for Histogram `Update` and `TakeSnapshot` methods (#4340) 2023-04-14 13:06:00 -07:00
Reiley Yang eaaf10ab00
Editorial: remove --prerelease for packages that already shipped stable version (#4389) 2023-04-13 19:29:28 -04:00
Reiley Yang 7958763a1b
Add ASP.NET example for metrics (#4381) 2023-04-13 16:48:43 -04:00
Utkarsh Umesan Pillai 7db694157f
Fix ApiCompat (#4385) 2023-04-12 14:42:15 -07:00
Reiley Yang 3d0cf75442
Try to unblock codecov CI failure (#4380) 2023-04-11 15:45:35 -07:00
dependabot[bot] 3f09d28c4d
Bump codecov/codecov-action from 3.1.1 to 3.1.2 (#4379) 2023-04-11 12:22:38 -07:00
Utkarsh Umesan Pillai bf9f07dc0f
Update value of the resource attribute `telemetry.sdk.version` (#4375) 2023-04-07 16:55:43 -07:00
Timothy Mothra 807f703e1b
move tests from OpenTelemetry.Tests project to OpenTelemetry.Api.Tests (#4368) 2023-04-05 21:41:30 -07:00
Alan West b449fa1d15
Add telemetry.sdk.* attributes to default resource (#4369) 2023-04-05 17:29:59 -07:00
Alan West 00048957b0
Bump NETCOREAPP3_0_OR_GREATER to NET6_0_OR_GREATER (#4367) 2023-04-05 17:01:03 -07:00
Alan West dac0cf1acc
Enable RunApiCompat on stable packages (#4366) 2023-04-05 13:33:04 -07:00
Timothy Mothra 1c0708e2b0
new project: OpenTelemetry.Api.Tests (#4355) 2023-04-05 12:11:46 -07:00
Mikel Blanchard a61711d0c3
[AspNetCore+Http] StatusCode boxing logic improvements (#4363) 2023-04-04 16:43:30 -07:00
Mikel Blanchard 6c06bcc394
[sdk] Only use BCL HashCode for .NET 6+ (#4362) 2023-04-04 16:19:52 -07:00
Mikel Blanchard 78abc68ba1
[http] Avoid boxing of status code tags (#4361) 2023-04-04 16:00:16 -07:00
Mikel Blanchard b2fb873fcd
[AspNetCore] Avoid boxing of status code tags (#4360) 2023-04-04 11:23:46 -07:00
Alan West b5ee98f33b
Revert non-core changelogs for 1.0.0-rc9.15 (#4357) 2023-03-31 20:29:59 -04:00
Alan West 6185a4741b
Update changelogs for 1.5.0-alpha.2 / 1.0.0-rc9.15 release (#4356) 2023-03-31 16:19:43 -07:00
Cromefire_ c5ddf5adce
Add better documentation for IResourceDetector and OltpExporter configuration (#4230)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2023-03-31 12:50:24 -07:00
Vishwesh Bankwar 691886607e
Set Activity.Status when adding SetErrorStatusOnException (#4336) 2023-03-31 13:46:32 -04:00
Mikel Blanchard a274f06b2c
[Jaeger] Update preprocessor directives in Jaeger thrift code (#4349) 2023-03-30 11:36:56 -07:00
Andre Hofmeister 533513f65b
feat: Enable SuccessfulCommandTest by leveraging Testcontainers (#4198)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2023-03-29 16:16:00 -07:00
Alan West 63de7298b8
OLTP exporter: Fix exponential histogram zero count (#4343) 2023-03-29 13:11:57 -07:00
Alan West 410532ae49
OTLP support for exporting exponential histograms (#4337) 2023-03-27 21:23:24 -07:00
dependabot[bot] 87a33138ed
Bump actions/stale from 7 to 8 (#4329)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
2023-03-27 16:55:01 -07:00
Yun-Ting Lin 27560f6267
set `TraceState` field in OTLP Exporter (#4331) 2023-03-27 16:25:57 -07:00
Alan West 094124e9ee
Add exponential histogram MaxScale configuration (#4327) 2023-03-23 19:31:33 -07:00
Alan West 3d1c489998
Fix exp histogram snapshot when exemplars are enabled (#4325) 2023-03-22 17:29:27 -07:00
Piotr Kiełkowicz e9226cfadf
[Instrumentation.AspNetCore] Document metrics (#4321)
Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
2023-03-22 13:00:56 -04:00
Alan West a46039a39b
Fix exponential histogram bucket snapshot (#4313) 2023-03-21 09:42:33 -07:00
Piotr Kiełkowicz 811d0eb12d
[Exporter.OTLP] Nullability for compiled in files - part 1 (#4282) 2023-03-20 17:08:39 -07:00
Vishwesh Bankwar 905e5d905e
Add clarification note for propagation in case of instrumentation libraries (#4314) 2023-03-20 13:37:46 -07:00
Alan West d924663dc3
Fix min/max snapshot for explicit bounds histogram (#4306) 2023-03-16 13:51:34 -07:00
mfogliatto 3d6656feec
Add OtlpLogExporter.Export method tests (#4296)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2023-03-15 19:05:12 -04:00
Alan West 30e405431b
Add exponential histogram tests and in-memory exporter support (#4303) 2023-03-15 13:20:40 -07:00
Mikel Blanchard 5aad3e0486
[sdk] SuppressInstrumentationScope perf tweaks (#4304) 2023-03-15 11:28:58 -07:00
Yun-Ting Lin 7638d85495
[Instrumentation.Http] Added an example for metrics to the document. (#4216)
Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
Co-authored-by: Reiley Yang <reyang@microsoft.com>
2023-03-14 20:52:12 -04:00
Yun-Ting Lin 849f8804f7
updated DroppedCount in BatchExportProcessor to use Volatile.Read() (#4302) 2023-03-14 12:17:59 -07:00
Alan West ac55f0e9a6
Add MetricType.ExponentialHistogram (#4295)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2023-03-14 09:58:48 -07:00
Yun-Ting Lin 2c7f746d85
updated shutdownDrainTarget in BatchExportProcessor to be thread-safe (#4294) 2023-03-13 18:47:47 -07:00
Alan West 9395b9e944
Expose exponential histogram data (#4290) 2023-03-10 15:16:33 -08:00
J. Kalyana Sundaram 3b1ceba8e6
Example / proof of concept to achieve a combination of head-based sampling + a basic form of tail-based sampling at a span level. (#4206)
Co-authored-by: Timothy Mothra <tilee@microsoft.com>
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2023-03-10 16:52:58 -05:00
J. Kalyana Sundaram a1ea6d6aef
Fix for #4264: Consider removing the "advanced" folder (#4286) 2023-03-09 14:40:19 -08:00
Alan West e4554f2cd3
Implement Update and Snapshot for exponential histogram buckets (#4267)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2023-03-09 10:34:33 -08:00
Mikel Blanchard c1f1116784
[repo] Update GitHub PR template (#4287) 2023-03-08 19:25:18 -05:00
Mikel Blanchard b200ceb86e
[repo] Adding some guidance/requirements in CONTRIBUTING for nullable reference types and static analysis (#4284)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
Co-authored-by: Reiley Yang <reyang@microsoft.com>
2023-03-08 15:54:41 -08:00
condezero 990deee419
fix target framework (#4278) 2023-03-08 12:06:49 -05:00
Cijo Thomas 6c580b387d
Changelog update for 1.5.0-alpha.1 (#4281) 2023-03-07 18:39:54 -05:00
Piotr Kiełkowicz 6ffefb73ef
Removed not used file from OTLP project (#4280) 2023-03-07 11:42:49 -05:00
Cijo Thomas f3dab75ef3
Add unit tests for Exemplars (#4275) 2023-03-06 21:05:08 -05:00
Cijo Thomas 9fdf4fc9de
Doc tweaks for Exemplars (#4273)
Co-authored-by: Reiley Yang <reyang@microsoft.com>
2023-03-06 10:50:16 -08:00
Mikel Blanchard a318130617
[sdk] Make ResourceBuilder.AddDetector factory pattern public (attempt 2) (#4261)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2023-03-06 11:42:55 -05:00
Cijo Thomas 1a30646546
Update Jaeger readme to indicate future deprecation (#4270) 2023-03-05 21:28:59 -08:00
Cijo Thomas 8cd0ef5642
HttpClient benchmark updates (#4269) 2023-03-04 22:54:53 -08:00
Cijo Thomas 474ddcb217
Cleanup aspnetcore benchmarks and add metrics (#4266) 2023-03-03 16:44:22 -08:00
Cijo Thomas 4425ce52fc
Fix thread safety for exemplars (#4263) 2023-03-03 16:49:44 -05:00
J. Kalyana Sundaram 735dd0d04c
An example / proof of concept for stratified sampling in OpenTelemetry.NET (#4208)
Co-authored-by: Timothy Mothra <tilee@microsoft.com>
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2023-03-03 12:45:51 -05:00
Piotr Kiełkowicz 77cd1b03ee
[Instrumentation.SqlClient] Document not supported version (#4258) 2023-03-03 11:46:03 -05:00
Alan West 3a89cb38b0
Aggregate count, sum, min, and max for exponential histograms (#4060) 2023-03-02 21:51:47 -05:00
Cijo Thomas 1b1e4e53dc
Enabling Exemplars for all types of metrics (#4256) 2023-03-02 21:32:35 -05:00
Cijo Thomas c9ec50314e
Remove unused eventsource methods (#4221)
Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
2023-03-01 21:08:59 -05:00
Cijo Thomas 882006e753
Move exemplarreservoir to outside of Histogram (#4250) 2023-03-01 19:16:29 -05:00
Vishwesh Bankwar 869dccee15
[HttpClient] Fix missing metric during network failures (#4098)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2023-03-01 14:34:25 -05:00
Cijo Thomas 690f7e5bbc
Add basic ExemplarFilter doc. (#4246)
Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
2023-03-01 00:05:50 -05:00
Cijo Thomas 19a281e541
Add benchmarks to show impact of ExemplarFilter (#4245) 2023-02-28 16:30:21 -05:00
Cijo Thomas afd677f679
Minor Exemplar fixes (#4244) 2023-02-28 13:49:34 -05:00
Cijo Thomas 9dd54d7124
Merge main-metrics to main (#4217)
Co-authored-by: Yun-Ting Lin <yunl@microsoft.com>
2023-02-27 18:57:58 -05:00
Mikel Blanchard f7f535866b
[Otlp] Bump Google.Protobuf to 3.22.0 and remove reflection emit code (#4201) 2023-02-24 20:26:30 -05:00
Utkarsh Umesan Pillai a3ec494c4a
Update previous stable version (#4235) 2023-02-24 18:09:32 -05:00
Utkarsh Umesan Pillai 6f78784513
Update CHANGELOG for 1.4.0 release (#4232) 2023-02-24 16:34:57 -05:00
xiang17 0971088451
Fix CHANGELOG (#4224) 2023-02-23 15:53:00 -08:00
Mikel Blanchard 4f2bb57df7
Project and README updates for 1.4. (#4223) 2023-02-23 13:55:05 -08:00
Mikel Blanchard 5b1889dd3d
[Hosting] Remove obsolete methods ahead of 1.4.0 release (#4071)
* Remove obsolete methods from hosting library ahead of 1.4.0 release.

* Warning cleanup.

* CHANGELOG patch.

* Merge fixes.

* MD lint fix.

* Slim down the changes shown on the diff.

* More diff slimming.

* CHANGELOG fix.

---------

Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2023-02-23 12:44:34 -08:00
Cijo Thomas bdf1e08bd7
Updates to OTLP Exporter readme (#4222) 2023-02-23 12:55:46 -05:00
Cijo Thomas 814206dd21
Improve log message written by selfdiagnostics to file. (#4219) 2023-02-23 00:48:15 -05:00
Mikel Blanchard 7139c7a656
[Otlp] Make sure Otlp trace and metric exporters have dedicated options instances (#4200)
* Make sure Otlp trace and metric exporters have dedicated options instances.

* CHANGELOG patch.
2023-02-16 14:04:45 -08:00
Vishwesh Bankwar d0829fff2f
[ASP.NET Core] Add test validating route information for non-mvc scenario (#4105) 2023-02-14 18:39:07 -05:00
Cijo Thomas 07bbdeae11
Better warning about ilogger setup in asp.net core (#4188) 2023-02-14 18:09:25 -05:00
Cijo Thomas fbbc57abbc
Add missing target version to ci for md files (#4190) 2023-02-14 18:00:00 -05:00
Mikel Blanchard 65fbb5746d
[sdk.metrics] Refactor InstrumentNameRegex so that it can be replaced reflectively (#4187)
* Refactor InstrumentNameRegex so that it can be replaced reflectively at runtime.

* Remove test.

---------

Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2023-02-14 14:47:34 -08:00
Cijo Thomas a878ca3eea
Few doc fixes (#4186) 2023-02-14 15:28:30 -05:00
Vishwesh Bankwar 69d015eb70
[HttpClient and ASP.NET Core] Add note for relying on activity duration for metric data (#4183)
* add note on activity duration

* Update src/OpenTelemetry.Instrumentation.AspNetCore/Implementation/HttpInMetricsListener.cs

Co-authored-by: Reiley Yang <reyang@microsoft.com>

* add todo

* re

---------

Co-authored-by: Reiley Yang <reyang@microsoft.com>
2023-02-14 13:57:49 -05:00
Reiley Yang 3ad2830d63
minor cleanup to the CI job (#4181) 2023-02-13 19:30:14 -05:00
Alan West 939b4c4c08
Update changelogs for 1.4.0-rc.4/1.0.0-rc9.13 release (#4180) 2023-02-10 20:16:19 -05:00
Alan West 89cc8dcb9b
Fix OTLP user agent (#4167) 2023-02-10 16:18:08 -08:00
Alan West 9892311378
Refactor OpenTelemetry.Extensions.Hosting readme (#4179) 2023-02-10 17:32:18 -05:00
Mikel Blanchard 3c592361eb
Update docs for StartWithHost removal. (#4178) 2023-02-10 15:41:36 -05:00
Mikel Blanchard 74212a2402
[sdk+hosting] Move AddOpenTelemetry & OpenTelemetryBuilder into Hosting package (#4174)
* Move AddOpenTelemetry & OpenTelemetryBuilder into Hosting package.

* Added Azure Functions warning.

* Test fixes.

* Test fixes.

* Patch CHANGELOGs.

* Hosting README updates.

* Comment tweak.

* Clean up.

* Test cleanup.

* MD lint.

* Test fixes.
2023-02-10 12:11:26 -08:00
Mikel Blanchard 94f67d8a8c
Revert "[sdk] Use reflection and dynamic types to start providers (#4151)" (#4173)
This reverts commit b549e12148.
2023-02-09 10:14:12 -08:00
Vishwesh Bankwar 287295f9e6
fic metric description (#4171) 2023-02-09 12:36:03 -05:00
Mikel Blanchard b549e12148
[sdk] Use reflection and dynamic types to start providers (#4151)
* Remove StartWithHost extension and using reflection to do the work in SDK.

* Warning cleanup.

* Fix up.

* Improved logging.

* Remove OpenTelemetry.Extensions.Hosting dependency from examples & docs.

* Test fixes.

* Fixes and test updates.

* Bug fix.

* Patch CHANGELOGs.

* Clean up.

* Support Azure Functions TelemetryHostedService dependency inspection logic.

* Code review.

* Code review.

* Code review.

---------

Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2023-02-08 15:20:02 -08:00
Martin Costello 1a9a492e02
Use assembly information version for User-Agent (#4143)
Use `AssemblyInformationalVersionAttribute` for the `User-Agent` value.
See 6f04561448 (r1094245847).

Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2023-02-07 23:33:34 -05:00
Dan Nelson 1273e83d55
[examples] Add manual activities and custom metrics to ASP.NET Core example (#4133) 2023-02-07 16:36:05 -05:00
Mikel Blanchard da938d797e
[sdk] Remove System.Reflection.Emit.Lightweight dependency (#4140)
* Remove System.Reflection.Emit.Lightweight dependency from SDK.

* CHANGELOG patch.

* CHANGELOG patch.
2023-02-02 13:58:15 -08:00
Alan West 31cf72973f
Update changelogs for release 1.4.0-rc.3/1.0.0-rc9.12 (#4138) 2023-02-01 16:01:13 -08:00
Alan West c0f927f9a3
OTLP exporter add User-Agent header (#4120)
* OTLP exporter add User-Agent header

* Fix tests

* Update changelog

* Update changelog

* Handle exceptions retrieving assembly version

---------

Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2023-01-31 20:38:54 -08:00
Mikel Blanchard 074c0196f1
[docs] Update "note" styling (#4130)
* Clean up.

* Update notes to use github styling.

* Clean up.

* MD028 lint hack.
2023-01-31 16:53:05 -08:00
Mikel Blanchard 6e7505af19
Tweaks to DI docs. (#4129) 2023-01-31 14:34:20 -08:00
Mikel Blanchard 0b69b37136
[docs] Updates for DI tweaks (#4127) 2023-01-31 16:37:16 -05:00
Mikel Blanchard 3a491b14b2
[DI] Rename DI package to OpenTelemetry.Api.ProviderBuilderExtensions (#4125)
* Rename DI package to OpenTelemetry.Api.ProviderBuilderExtensions.

* Patch CHANGELOG.
2023-01-31 12:17:15 -08:00
Mikel Blanchard 1f096cb6b8
[DI] Remove ConfigureBuilder and add implementation factory helpers (#4103)
* Hide ConfigureBuilder and add common helpers.

* Remove ConfigureBuilder.

* Test fixes.

* Test fixes.

* Tests for new factory methods.

* CHANGELOG patch.
2023-01-31 09:46:36 -08:00
Cijo Thomas 2e9a204243
Minor refactor on histogram metric update (#4111) 2023-01-27 15:58:48 -05:00
Reiley Yang 5680f837e2
Encourage best practices in the logging tutorial (#4094) 2023-01-26 21:23:00 -05:00
Yun-Ting Lin fd6fb902da
draft (#4106) 2023-01-26 14:32:18 -05:00
Mikel Blanchard 61f5351638
[SDK] Remove the dependency on M.E.Options 5.0 (#4093) 2023-01-25 11:18:47 -05:00
Timothy Mothra ff6efe784b
cleanup tests and docs (#4099) 2023-01-24 22:14:57 -05:00
Mikel Blanchard 03af717e23
[SDK] Remove the dependency on M.E.C.EnvironmentVariables (#4092)
* Remove the dependency on Microsoft.Extensions.Configuration.EnvironmentVariables from SDK.

* Added notes.

* CHANGELOG patch.
2023-01-24 13:22:36 -08:00
Mikel Blanchard 84b377878a
[SDK] Add a test covering exception thrown in custom sampler (#4072) 2023-01-23 17:41:17 -05:00
Timothy Mothra 9e00b8f0cd
fix: change Environment Var parsing to not throw FormatException (part1) (#4095) 2023-01-21 10:21:28 -05:00
Cijo Thomas 10389e3b62
Fix ConsoleExporter Histogram output with correct lowerbound (#4091) 2023-01-20 14:31:44 -05:00
Mikel Blanchard bb0c381478
[docs] ASP.NET Core tracing get started doc (#4076)
* Added ASP.NET Core tracing get started doc.

* Link to reference.

* Lint.

* Fixes.

* Use cdn to retrieve npm dependencies.

* Tweaks.

* Tweaks.

* Code review.

* Added prerelease note.

* Tweak.

Co-authored-by: Reiley Yang <reyang@microsoft.com>
2023-01-17 13:46:13 -08:00
Reiley Yang ea5a25caac
Rename to Base2ExponentialBucketHistogram to align with the latest spec (#4079) 2023-01-13 17:06:05 -05:00
Tom Tan f98f8fe166
Support customized OTLP endpoint for log example (#4066)
* Support customized OTLP endpoint for log example

* Add Endpoint command line option to TestMetrics

* Fix dotnet format

Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2023-01-10 13:00:14 -08:00
Utkarsh Umesan Pillai 1c69788184
Update OpenTelemetry.proj to remove conditional packing of OpenTelemetry.SemanticConventions (#4070) 2023-01-09 17:23:35 -08:00
Utkarsh Umesan Pillai 69f215a5a3
Update CHANGELOG for 1.4.0-rc.2 / 1.0.0-rc9.11 release (#4069) 2023-01-09 14:33:51 -08:00
Utkarsh Umesan Pillai 9c05eeaf9b
Update CHANGELOG with Registration extension configuration delegate fix (#4068) 2023-01-09 14:11:25 -08:00
Utkarsh Umesan Pillai c076db98fc
Simplify HashCode.Add method call (#4067) 2023-01-09 13:11:37 -08:00
Utkarsh Umesan Pillai b091200ebe
Standardize GetHashCode implementation (#4064) 2023-01-09 12:28:46 -08:00
Utkarsh Umesan Pillai 1a026839d2
Metrics Perf Improvement- Use KeyValuePair<string, object>[] to store dimensions (#4059) 2023-01-06 16:20:53 -08:00
Mikel Blanchard 9708349641
Port package cleanup from closed PR. (#4062)
Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
2023-01-06 14:20:33 -08:00
Mikel Blanchard a5941d53f1
[OtlpExporter] Registration extension configuration delegate fix (#4058)
* Fix tracing and metric otlp exporter extensions mutating the same options instance when named options are not used.

* Log tweaks.

* Clean up.

* Issue links.

* Tweaks.

* Code review.
2023-01-06 13:59:07 -08:00
Mikel Blanchard 2359dded1c
Added xml remarks to provide guidance for users calling ConfigureBuilder extensions. (#4061) 2023-01-06 12:33:07 -08:00
Utkarsh Umesan Pillai 00314ac693
Update versions of common packages used in tests and examples (#4045) 2022-12-28 11:21:44 -08:00
Mikel Blanchard c96356bebe
[repo] Update the guard class with nullable decorations (#4033)
* Update the guard class with nullable decorations.

* Test fix.
2022-12-22 20:45:51 -08:00
Utkarsh Umesan Pillai 3fb063fb2e
Update W3CTraceContext unit tests (#4041) 2022-12-22 16:28:42 -08:00
Utkarsh Umesan Pillai 8013a3a539
Refactor unit tests (#4039) 2022-12-22 15:25:20 -08:00
Timothy Mothra 55556af592
fix analysis issues: CA2000 (#4038) 2022-12-22 13:59:59 -08:00
Utkarsh Umesan Pillai d68307b1e7
Update Common.props with the latest stable version of OTel (#4035) 2022-12-21 11:05:33 -08:00
dependabot[bot] eea166c237
Bump actions/stale from 6 to 7 (#4036)
Bumps [actions/stale](https://github.com/actions/stale) from 6 to 7.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-21 10:52:55 -08:00
Utkarsh Umesan Pillai f8f205757f
Remove unnecessary usings from OpenTelemetry Tests (#4029) 2022-12-20 21:07:24 -08:00
Utkarsh Umesan Pillai b138784df5
Remove unnecessary usings from instrumentation tests (#4028) 2022-12-20 19:45:14 -08:00
Utkarsh Umesan Pillai 39c7c60a8a
Remove unnecessary usings from exporters, extensions, and shim tests (#4027) 2022-12-20 19:12:40 -08:00
Utkarsh Umesan Pillai 6666ef691b
Update CHANGELOG with older fix (#4030) 2022-12-20 16:13:06 -08:00
Utkarsh Umesan Pillai 4f2e9f0b52
Mark internal classes sealed (#4024) 2022-12-20 12:30:39 -08:00
Utkarsh Umesan Pillai 095a22364e
Remove unnecessary code analysis exceptions (#4025) 2022-12-20 11:39:48 -08:00
Utkarsh Umesan Pillai 3157b5ce12
Remove unnecessary using statements (#4023)
* Remove unnecessary using statements from docs, examples, benchmarks and stress tests
2022-12-20 11:20:15 -08:00
Piotr Kiełkowicz 54b60b59b4
elasticsearch link fix (#4021) 2022-12-19 19:52:41 +05:30
Timothy Mothra 64f1d74561
fix analysis issues: CA2007 (part2) (#4018)
* fix analysis issues: CA2007

* remove duplicate

Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2022-12-15 16:31:49 -08:00
Mikel Blanchard 5b9cba7cbd
[repo] CI updates (#4016)
* Port some CI tweaks from contrib.

* Logging in integration tests.

* Test tweaks.

* Warning cleanup.

* Fix format.

* Comments.
2022-12-15 16:08:30 -08:00
Timothy Mothra 9ad312af3a
fix analysis issues part1 (#4017) 2022-12-15 14:59:43 -08:00
Timothy Mothra 49d110ae0f
update `ConsoleActivityExporter` to use `Activity`'s enumerate methods (#4002)
* update consoleactivityexporter to use enumerate methods

* ref readonly

Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2022-12-14 13:58:22 -08:00
Mikel Blanchard a44a58bb7e
[Hosting] Throw startup exceptions (#4006)
* Allow the hosting startup to throw for valid issues.

* CHANGELOG stub.

* CHANGELOG patch.

* Warning cleanup.

* Code review.
2022-12-14 13:19:12 -08:00
Timothy Mothra 733a8689ef
temporarily disable AnalysisLevel (#4008)
* disable

* update project
2022-12-14 12:48:55 -08:00
Utkarsh Umesan Pillai ebabb63f57
Update CHANGELOG for 1.4.0-rc.1 (#4004) 2022-12-12 14:54:53 -08:00
Mikel Blanchard 0a9bc552ed
Remove ConfigureServices & ConfigureBuilder from public API. (#4003) 2022-12-09 17:42:22 -08:00
Mikel Blanchard 045db1b62d
Reduce the public api exposed by OpenTelemetry.Extensions.DependencyInjection. (#4001)
Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
2022-12-09 16:38:18 -08:00
Mikel Blanchard aee29efc6f
AspNetCore instrumentation internal logging improvements. (#3998) 2022-12-09 14:02:39 -08:00
Mikel Blanchard 61ba77df6e
Suppress ApiCompat for OpenTelemetry.Extensions.Hosting. (#4000)
Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
2022-12-09 13:45:50 -08:00
Mikel Blanchard dd342f0508
[Logs] Remove ConfigureResource on OpenTelemetryLoggingOptions (#3999)
* Removed ConfigureResource on OpenTelemetryLoggingOptions.

* Patch CHANGELOG.
2022-12-09 13:26:31 -08:00
Utkarsh Umesan Pillai c5fee60e9e
Mark OpenTelemetry.Extensions.Hosting as a core package (#3992) 2022-12-09 11:23:42 -08:00
Mikel Blanchard 6c47447679
Made the AddDetector overload accepting IServiceProvider internal for now. (#3997) 2022-12-09 10:37:48 -08:00
Mikel Blanchard 8d908b9d2b
[Traces] Support named options in SqlClient instrumentation (#3994)
* Introduce OpenTelemetry.DependencyInjection and refactor SDK.

* Update SqlClient instrumentation to use DependencyInjection package.

* Tweak.

* Manual merge fixes.

* Some refactoring.

* Renames.

* Bug fixes and refactoring.

* Cleanup and docs.

* More updates.

* More cleanup.

* API updates.

* Namespace tweaks.

* Refactoring and API changes.

* Example tweaks.

* Example cleanup.

* XML doc updates.

* XML doc updates.

* Bug fix.

* Test fixes.

* Example fixup.

* Test fixup.

* Test fixup.

* Example fixup.

* Test fixup.

* Test fixup.

* Test fixup.

* CHANGELOG patch.

* Add test project.

* Cleanup.

* Added configure tests.

* MeterProviderBuilder extensions tests.

* TracerProviderBuilder extensions tests

* Some README content.

* CHANGELOG patch.

* Doc updates.

* Example code fixes.

* Doc updates.

* Doc updates.

* Doc updates and cleanup.

* Doc updates.

* Skip ApiCompat on new project.

* API tweaks.

* Test fixes.

* XML doc improvements.

* Tweaks.

* Project file updates.

* Test fix.

* Project rename.

* Updated for new project name.

* Manual fixes for merge from main.

* More manual fixes for merge from main.

* Updates.

* Unit test.

* CHANGELOG patch.
2022-12-09 10:06:44 -08:00
Mikel Blanchard 723ad0bd65
[AspNetCore Instrumentation] AspNetCoreMetricsInstrumentationOptions follow-ups & nits (#3982)
* Updates to take care of nits.

* Public API fixes.

* CHANGELOG patch.
2022-12-08 17:03:05 -08:00
Mikel Blanchard 9836d3addb
[DependencyInjection] Introduce new package and refactor SDK (#3923) 2022-12-08 15:24:44 -08:00
Piotr Kiełkowicz f0f5158ba1
SdkOptionLimits - fix defaults (#3978) 2022-12-08 14:50:54 -08:00
Timothy Mothra 6fa6700753
remove `ImplicitUsings disable` from projects (part 8) (#3993) 2022-12-08 14:26:54 -08:00
Timothy Mothra 2d02255bf8
remove `ImplicitUsings disable` from projects (part 7) (#3991)
* remove ImplicitUsings disable from projects.
ZPages

* Hosting

* Propagators

* remove implicitusings disable from projectsn
AspNetCore

* Http and GrpcNetClient

* remove implicitusings disable from projects
SqlClient

* Shims
2022-12-08 13:25:07 -08:00
Timothy Mothra ab3e40790d
remove `ImplicitUsings disable` from projects (part 6) (#3990)
* remove ImplicitUsings disable from projects.
ZPages

* Hosting

* Propagators

* remove implicitusings disable from projectsn
AspNetCore

* Http and GrpcNetClient
2022-12-08 12:38:28 -08:00
Timothy Mothra e29f8443e2
remove `ImplicitUsings disable` from projects (part 5) (#3989)
* remove ImplicitUsings disable from projects.
ZPages

* Hosting

* Propagators
2022-12-08 10:51:34 -08:00
Timothy Mothra 2eda12a018
remove `ImplicitUsings disable` from projects (part 4) (#3986) 2022-12-07 17:24:32 -08:00
Han Gao 589e891d62
Optimize diagnostic source event subscription to include isEnabledFilter (#3965) 2022-12-07 17:01:31 -08:00
Timothy Mothra 7401069298
remove `ImplicitUsings disable` from projects (part 3) (#3985) 2022-12-07 16:40:27 -08:00
Timothy Mothra 72595ac4bf
remove `ImplicitUsings disable` from projects (part 2) (#3983) 2022-12-07 16:02:08 -08:00
Timothy Mothra a58c3c0c0d
update changelog (#3984) 2022-12-07 15:46:38 -08:00
Timothy Mothra 840434981b
Fix ConsoleExporter fails silently when exporting an `ActivityLink` without Tags. (#3932) 2022-12-07 14:48:27 -08:00
Ivan Beňovic b3a0a142d3
Add support for some AspNetCoreMetricsInstrumentationOptions (#3948)
* Add support for some AspNetCoreMetricsInstrumentationOptions

(cherry picked from commit 67b7c7a64cf8a426486ba26aac9e6c3f8246bb6f)

* Refactor and fix MetricTests

* Code review changes

* Update changelog

* Add new APIs to all targets

* Rename function name to Enrich and fixed typo in comment

* Update PublicAPI definitions after renaming

* Fix changelog typo and formatting

Signed-off-by: Ivan Benovic <ivan.benovic@innovatrics.com>

* Change AspNetCoreMetricEnrichmentFunc signature to ref instead of out

Signed-off-by: Ivan Benovic <ivan.benovic@innovatrics.com>

* Fixed documentation file name

* Removed unused using

* Make markdown linter happy

* Fix MetricTests style warnings

Signed-off-by: Ivan Benovic <ivan.benovic@innovatrics.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2022-12-07 11:23:51 -08:00
Timothy Mothra 44d2fe20ba
implicitusings (#3980) 2022-12-07 10:43:36 -08:00
Timothy Mothra 804c448d2e
add nullable enable to Common.props and disable in projects. (#3964) 2022-12-05 15:33:57 -08:00
Timothy Mothra 6bcb70b1fe
Add `ImplicitUsings` to Common.props (#3959) 2022-12-02 15:01:27 -08:00
Timothy Mothra dfd1f25c95
Add `AnalysisLevel` to Common.props (#3960)
* add AnalysisLevel to Common.props

* fix CA2017
2022-12-02 12:42:56 -08:00
Evan Mattson 2116966171
Fix dotnet run jaeger command. Include comment on how to access localhost Jaeger UI. (#3957) 2022-11-30 15:55:48 -08:00
Han Gao 260460787f
[DOC] Update Jaeger tutorial to use OTLP Exporter (#3940)
* [DOC] Update Jaeger tutorial to use OTLP Exporter

* fix HttpClient could not be found in .NET framework error during CI

* fix markdown lint issue

* Update jaeger example .csproj file

* Update docs/trace/getting-started-jaeger/getting-started-jaeger.csproj

* Remove redundant options setting and update README

Co-authored-by: Reiley Yang <reyang@microsoft.com>
2022-11-30 11:10:23 -08:00
Vishwesh Bankwar e376aef472
[SqlClient] Clarify behavior when using `System.Data.SqlClient` with .NET Framework (#3937)
* Add System.Data.SqlClient clarification for netfmk

* wrap comment

* readme update

* readme

* Update src/OpenTelemetry.Instrumentation.SqlClient/README.md

Co-authored-by: Timothy Mothra <tilee@microsoft.com>

* resolve PR comments

Co-authored-by: Timothy Mothra <tilee@microsoft.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2022-11-29 10:46:25 -08:00
Robert Pająk 6c73e36808
Update README.md (#3951) 2022-11-28 15:54:02 -08:00
Timothy Mothra 39283c7327
create empty test project for Console Exporter (#3933) 2022-11-23 16:36:31 -08:00
Timothy Mothra a2c192642a
remove pinned version (#3935) 2022-11-23 16:15:47 -08:00
Timothy Mothra 2f492b2fc0
fix W3CTraceContextTests integration test (#3938) 2022-11-23 15:59:47 -08:00
Vishwesh Bankwar 943c856c1c
[]ASP.NET Core] Update `http.status_code` dimension type to int (#3930)
* change status code dimension from string to int
2022-11-22 10:06:32 -08:00
Utkarsh Umesan Pillai 82d3bacd68
Remove semVer prefix (#3929)
* Remove semVer prefix

* Use default instrumentation version as 1.0.0.0
2022-11-21 16:20:11 -08:00
Vishwesh Bankwar c5ecd05c72
[ASP.NET Core] Add additional `http.server.duration` metric attributes (#3928) 2022-11-21 15:21:31 -08:00
Yun-Ting Lin a4df1453e2
Add OTLP over gRPC project skeleton. (#3909) 2022-11-18 13:45:43 -08:00
rinat16 490b9b1ac7
[ASP.NET Core] replace http.target with http.route (#3903) 2022-11-18 12:50:30 -05:00
Utkarsh Umesan Pillai 50a2180e6e
Use the correct workflow for Build badge (#3921)
* Use the correct workflow

* Fix link
2022-11-17 20:52:28 -08:00
Cijo Thomas 88239aaf76
Fix CI badge with new workflow (#3920) 2022-11-17 13:39:19 -05:00
Mikel Blanchard bf95a54901
Removed AddExporter API for 1.4 release. (#3908)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2022-11-17 12:30:37 -05:00
Vishwesh Bankwar 459e2d7fad
[ASP.NET Core] Remove `http.host` and add `net.host.name` and `net.host.port` (#3858) 2022-11-17 12:18:34 -05:00
Mikel Blanchard 656bd7c8b2
[Hosting] README updates (#3913)
* OpenTelemetry.Extensions.Hosting README updates.

* Review.

Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2022-11-17 00:23:25 -05:00
Michael Maxwell 425a59effe
Update grafana prometheus instructions (#3916) 2022-11-16 21:41:17 -05:00
Michael Maxwell e0d87376f3
Update prometheus ports to the default 9464 (#3914)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2022-11-16 21:31:10 -05:00
Vishwesh Bankwar 8b72ff037f
minor refactor (#3915) 2022-11-16 16:12:54 -05:00
Cijo Thomas 4635f356d4
Minor doc update (#3886) 2022-11-15 15:46:52 -05:00
Mikel Blanchard 0604ecf346
[Traces] Made ctor on BatchExportActivityProcessorOptions accepting IConfiguration internal (#3902) 2022-11-15 15:29:30 -05:00
Vishwesh Bankwar 2e7b7a9308
[HttpClient] Add `net.peer.name` and `net.peer.port` on metric dimensions (#3907)
* Add net.peer.name and net.peer.port on metric

* changelog

* rmv todo
2022-11-15 14:57:32 -05:00
Vishwesh Bankwar a758c60cf4
fix tests (#3906) 2022-11-15 13:32:11 -05:00
Mikel Blanchard f770047d97
[Sql Instrumentation] Unify exposed public API (#3900)
* Unify public api exposed in sql instrumentation package.

* CHANGELOG patch.

* Code review.

* README updates.

* README tweaks.
2022-11-14 14:33:55 -08:00
Mikel Blanchard 018dc9cc49
Cleaned up notes. (#3899) 2022-11-14 10:21:33 -08:00
Mikel Blanchard 1daa2e3a4f
[docs] TracerProviderBuilder configuration docs updates (#3894)
* Configuration docs.

* Tweaks + lint.

* Spellcheck.

* Tweaks.

* Lint.

* Code review.

* Tweaks.

* Code review.

* Code review.

Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2022-11-14 10:00:29 -08:00
Utkarsh Umesan Pillai c7aefab687
Minor doc fix (#3892) 2022-11-11 14:54:48 -08:00
Utkarsh Umesan Pillai 3919a2a0ef
Add strategy back to the workflow (#3893) 2022-11-11 14:51:59 -08:00
Mikel Blanchard ddcff7de3c
[Logs] Support dependency injection in ResourceBuilder and load envvars from IConfiguration (#3889)
* Fixed logging resource builder not being attached to IServiceProvider.

* CHANGELOG patch.

Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2022-11-11 11:49:44 -08:00
Vishwesh Bankwar b5e50b2878
[ASP.NET Core] Clear logging for testing scenarios (#3810) 2022-11-11 13:50:12 -05:00
Vishwesh Bankwar 2fce583b9c
[HttpClient] Remove `http.host` and add `net.peer.name` & `net.peer.port` to match spec (#3832) 2022-11-11 12:49:30 -05:00
Michael Maxwell a8927964f3
Update ci-md.yml (#3891) 2022-11-10 15:38:02 -08:00
Vishwesh Bankwar 53cbce0f09
minor doc fix (#3890) 2022-11-10 17:51:02 -05:00
Mikel Blanchard 165b6f4ca4
[Repo] TracerProviderBuilder dependency injection docs updates (#3869)
* Added content for the "Guidance for library authors" section.

* Code review.

* Spellcheck!

* Code review.

* Code review.

* Code review.

* Bug fix.

* Lint.

* Tweaks.

Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
2022-11-10 09:44:29 -08:00
Utkarsh Umesan Pillai 82941d6c79
Update build workflow to set fail-fast to false (#3887)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2022-11-09 19:29:06 -05:00
dependabot[bot] a8b72df614
Bump Microsoft.Data.SqlClient (#3882) 2022-11-09 19:18:08 -05:00
Cijo Thomas 5ed4663dba
Delete linux-ci.yml (#3884) 2022-11-09 18:48:44 -05:00
Michael Maxwell 724294d00f
Combine Windows and Linux CI Workflows (#3786) 2022-11-09 14:48:19 -08:00
Cijo Thomas a5e5ed8705
Minor doc fixes across all components (#3879) 2022-11-09 13:05:52 -05:00
Mikel Blanchard d9e08386bb
Update global.json for .NET 7 release. (#3876) 2022-11-08 14:40:50 -05:00
Cijo Thomas 85da882bbd
Upgrade DS to 7.0 stable (#3875) 2022-11-08 12:13:54 -05:00
Mikel Blanchard 51f6cb7675
Tweak AddExporter to work better with Options API. (#3870)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2022-11-08 11:46:53 -05:00
Utkarsh Umesan Pillai 273c20580a
Update CHANGELOG for 1.4.0-beta.4 (#3868) 2022-11-07 12:04:04 -08:00
Mikel Blanchard 00e89d3596
[Repo] Added initial TracerProviderBuilder dependency injection docs (#3865)
* Added initial TracerProviderBuilder dependency injection docs.

* Code review and lint.

* Code review.

Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
2022-11-07 10:16:58 -08:00
Alan West f1992d9363
Refactor OTLP mock collector test (#3849) 2022-11-04 18:20:55 -04:00
Cijo Thomas be78372696
Minor perf tweaks in Metrics (#3867) 2022-11-04 12:40:24 -04:00
Cijo Thomas 91607e7d77
More performance improvement when views are used (#3864) 2022-11-04 09:40:07 -04:00
Cijo Thomas 91a9b7c549
Minor perf improvement for metric (#3862) 2022-11-03 14:51:10 -04:00
Mikel Blanchard 6c3beef649
[Repo] Expand processor & exporter section in tracing docs (#3855) 2022-11-02 20:15:21 -04:00
Mikel Blanchard 399fbcfaab
[Http Instrumentation] Unify exposed public API (#3793)
* Expose the same Http API for all targets.

* CHANGELOG stub.

* Merge updates.

* CHANGELOG updates.

* CHANGELOG cleanup.

* Working on tests.

* Test fix.

* Cleanup.

* HttpClient tests passing.

* Tests passing.

* Tests passing.

* README updates.

* Cleanup.

* Lint

Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2022-11-02 11:48:23 -07:00
Mikel Blanchard 180a8f928d
[Repo] Remove duplicate content from SDK README (#3853) 2022-11-01 19:49:32 -04:00
dependabot[bot] 893332efdb
Bump al-cheb/configure-pagefile-action from 1.2 to 1.3 (#3839)
Bumps [al-cheb/configure-pagefile-action](https://github.com/al-cheb/configure-pagefile-action) from 1.2 to 1.3.
- [Release notes](https://github.com/al-cheb/configure-pagefile-action/releases)
- [Commits](https://github.com/al-cheb/configure-pagefile-action/compare/v1.2...v1.3)

---
updated-dependencies:
- dependency-name: al-cheb/configure-pagefile-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Reiley Yang <reyang@microsoft.com>
Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
2022-11-01 15:03:02 -07:00
Cijo Thomas d4cca852bf
OTLP Logs - remove depth from scope fields (#3843) 2022-10-31 19:30:27 -04:00
Cijo Thomas c15493106a
Add benchmark numbers and remove invalid case (#3848) 2022-10-31 16:16:31 -04:00
Vishwesh Bankwar 131b350d95
add net7.0 to test and docs project (#3842) 2022-10-28 16:58:56 -04:00
Cijo Thomas c7dff42dbc
Minor fixes to logging scope examples (#3837) 2022-10-28 14:53:11 -04:00
Mikel Blanchard 14794b8022
Fix typo. (#3838) 2022-10-28 14:03:04 -04:00
Mikel Blanchard 8add3db43a
[Http] Fix propagation issues (#3828)
* Fix propagation issues with http client instrumentation.

* More comments and asserts.

* Fixes.

* Improve tests.

* Test cleanup.

* Simplify things.

* CHANGELOG update.

* Code review.

* Lint.

* Code review.

* Code review.

Co-authored-by: Vishwesh Bankwar <vishweshbankwar@users.noreply.github.com>
2022-10-28 10:48:24 -07:00
Michael Maxwell 1a65aec968
Limit character set according to spec (#3821) 2022-10-27 20:55:05 -07:00
Cijo Thomas 9b372023a9
Minor readme fix to show better code (#3835) 2022-10-27 20:36:32 -07:00
Mikel Blanchard f921ae3945
Adjust filtering processor example. (#3834) 2022-10-27 19:51:46 -04:00
dependabot[bot] d954c5bae8
Bump actions/setup-dotnet from 3.0.2 to 3.0.3 (#3831) 2022-10-27 15:30:51 -04:00
Cijo Thomas 2c6dc2659b
Add net70 to benchmarks (#3824) 2022-10-26 18:55:46 -04:00
Cijo Thomas 3bd798b18b
Metric Perf improvement when out of MetricPoints (#3826) 2022-10-26 17:10:35 -04:00
Cijo Thomas 20cdc51b68
Modify GH Actions to remove include-prerelease (#3827) 2022-10-26 15:26:18 -04:00
Cijo Thomas 110b7f6d0c
Add missing changelog (#3825) 2022-10-26 13:37:31 -04:00
Cijo Thomas 88c1864cb7
Histogram MinMax API fixes (#3822) 2022-10-26 12:35:07 -04:00
Cijo Thomas 004c3f6a1f
Rename AggregationType to better reflect intent (#3820) 2022-10-25 18:43:01 -04:00
Vishwesh Bankwar e381c0cdce
nit fix (#3819) 2022-10-25 14:26:52 -07:00
Vishwesh Bankwar 2fa5b3f9ad
Enable specific events for metrics (#3818) 2022-10-25 17:02:19 -04:00
Alan West a3867bde73
Validate OTLP exporter continues to export after RpcException (#3788) 2022-10-25 15:46:06 -04:00
Mikel Blanchard c5cb95eefc
Revert AspNet. proj change. (#3811) 2022-10-24 14:25:10 -07:00
Mikel Blanchard 6ce883b7f4
Port refactor from main-logs branch. (#3808)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2022-10-24 12:56:36 -04:00
Vishwesh Bankwar 732f199676
Update grpc client enrich callbacks (#3804) 2022-10-24 12:41:54 -04:00
Cijo Thomas 7e44089cf3
More doc tweaks (#3805)
* More doc tweaks

* remove draft staatus
2022-10-22 07:10:31 -07:00
benhall_io 78f8bf8549
Add missing end of code block backticks (#3807) 2022-10-22 06:53:33 -07:00
Mikel Blanchard 0804334de7
Fix circular reference issue building up meter provider. (#3806)
Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
2022-10-21 14:34:04 -07:00
Pavel Steinl 3c245efb5c
Guard.Range now uses invariant culture for error message (#3778)
Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
2022-10-21 17:04:33 -04:00
Mikel Blanchard d4cbc0c213
[SDK] Add some missing nullable annotations (#3796)
* Added some missing nullable annotations in SDK.

* Handle null span names in SamplingParameters.

* Warning cleanup.

* Warning cleanup.

* Added link to issue in comment.

Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2022-10-21 13:33:04 -07:00
Mikel Blanchard 9b8702e3dc
Fix circular reference issue building up tracer provider. (#3803) 2022-10-21 13:10:46 -07:00
Mikel Blanchard 32650555d4
[SDK] Support dependency injection in the GetDefaultResource API (#3798)
* Support dependency injection in the GetDefaultResource API.

* CHANGELOG patch.

* Test tweaks.

Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2022-10-21 12:33:38 -07:00
Vishwesh Bankwar d21e609f00
[Http] Update enrich callbacks for http (#3792) 2022-10-21 11:34:17 -07:00
Vishwesh Bankwar 0c31fb9702
[ASP.NET Core] Update enrich callbacks to use specific type. (#3749) 2022-10-21 13:26:41 -04:00
Cijo Thomas f94ccb789a
Move more docs to docs folder (#3801) 2022-10-21 13:16:31 -04:00
Utkarsh Umesan Pillai 82a3353b97
Mark private and internal classes as sealed (#3799)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2022-10-21 12:34:23 -04:00
Cijo Thomas 16e0758c14
Add MinMax to console and doc additions (#3795) 2022-10-20 19:13:36 -04:00
Jonathan Wilhelm f963f9dcf6
[Logs] UnitTest: LogRecord attribute limits (#3758)
* Unittest for LogRecord attribute limits

* Remove maxValueLength from LogRecordExtensions.AddIntAttribute.

Change requested from https://github.com/open-telemetry/opentelemetry-dotnet/pull/3684#discussion_r995164277

* Pr commits addressed

Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2022-10-20 10:36:11 -07:00
Mikel Blanchard 6fae370b26
[Prometheus AspNetCore] Support named options in pipeline extensions (#3780)
* Support named options in Prometheus AspNetCore pipeline extensions.

* Patch CHANGELOG.

Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2022-10-20 10:11:35 -07:00
Cijo Thomas 13ea238abb
Move more SDK docs to docs folder (#3794) 2022-10-20 13:10:15 -04:00
Utkarsh Umesan Pillai 079d4115b4
Add Vishwesh as an Approver (#3783)
Co-authored-by: Cijo Thomas <cijo.thomas@gmail.com>
2022-10-19 15:18:20 -04:00
Mikel Blanchard cedda83469
[SDK] Support dependency injection in ResourceBuilder and load envvars from IConfiguration (#3782) 2022-10-19 15:14:07 -04:00
Joao Grassi 2377d00c9d
Auto-generated Semantic Conventions (#2069) 2022-10-19 14:34:35 -04:00
Reiley Yang 6d6222f52a
Bump System.Text.Json version due to CVE-2021-26701 (#3789) 2022-10-19 01:10:46 -04:00
Vishwesh Bankwar 5f962a1eb8
[HttpClient] Add back netstandard2.0 target (#3787)
* Add back netstandard2.0 target

* changelog

* public api files
2022-10-18 21:45:26 -04:00
Vishwesh Bankwar c2473fd5fe
[ASP.NET Core] Add back netstandard2.0 and 2.1 targets (#3755) 2022-10-18 19:08:55 -04:00
Cijo Thomas f71b404693
ConsoleLogExporter to output full exception (#3784) 2022-10-18 15:25:11 -07:00
Cijo Thomas 5b12f08c53
Update DS to rc2 (#3781) 2022-10-18 16:51:38 -04:00
aristotelos 49d1779af4
Link to .NET docs about different ports (#3704) 2022-10-18 14:33:05 -04:00
Michael Maxwell fa950b31fe
Remove Env from CI `DOTNET_MULTILEVEL_LOOKUP = 1` (#3779) 2022-10-18 13:53:06 -04:00
Mikel Blanchard 423999223a
[SDK, Jaeger, Zipkin, & Otlp] Support loading envvars for BatchExportActivityProcessorOptions from IConfiguration (#3776)
* Support loading envvars for ExportActivityProcessorOptions & BatchExportActivityProcessorOptions from IConfiguration.

* Update src/OpenTelemetry/CHANGELOG.md

Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>

* Patch CHANGELOG.

* Unit test.

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2022-10-18 10:27:06 -07:00
Pavel Steinl 3f53be6369
[SqlClient] Add support for Filter expression (#3743) 2022-10-18 09:56:57 -04:00
Mikel Blanchard 1a2103ddc1
[SDK + Otlp] Support loading envvars from IConfiguration (#3760)
* Updated Otlp Trace & Metrics exporters to load envvars from IConfiguration.

* Patch CHANGELOGs.

* Fix up otlp log exporter for SdkOptions changes.

* Revert SdkOptions public api.

* Restore tests.

* Fix benchmarks.

* SdkLimitOptions IConfiguration test.

* OtlpExporterOptions IConfiguration test.

* MetricReaderOptions IConfiguration test.

* Bug fix.

* Nit.
2022-10-17 16:12:34 -07:00
Utkarsh Umesan Pillai 727aab0ce8
Update CHANGELOG for 1.4.0-beta.2 release (#3772) 2022-10-17 14:58:23 -04:00
Utkarsh Umesan Pillai 16d8e22fc4
Add a separate example project for Logs redaction (#3744) 2022-10-17 11:31:49 -07:00
Vishwesh Bankwar 0feebf3145
[HttpClient] Add unit tests for `RecordException` case (#3761) 2022-10-14 18:00:53 -04:00
ggoel 6d5dd373fa
Logging state during building of TracerProvider (#3746) 2022-10-14 17:33:09 -04:00
Michael Maxwell 8db45a3af6
Adding MinMax to Histograms (#2735) 2022-10-14 17:00:07 -04:00
Mikel Blanchard af7ab89ba8
[Repo] Attempting to stabilize the API Compatibility CI job (#3766)
* Attempting to stablize the API Compatibility CI.

* Tweak.

* More logging.

* Increase build logging level for api compat ci job.

* Tweak.

* Tweak.

* Revert extra logging in ci job.

* Switched some logging back to debug.
2022-10-13 14:55:25 -07:00
dependabot[bot] 7852797fc4
Bump actions/setup-dotnet from 3.0.1 to 3.0.2 (#3764)
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](https://github.com/actions/setup-dotnet/compare/v3.0.1...v3.0.2)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-13 13:59:31 -07:00
Jonathan Wilhelm 0d4c5f5d62
[Logs] Fix: Respect AttributeValueLengthLimit when building otlp LogRecord data (#3684)
* Respect SdkConfiguration.AttributeValueLengthLimit so otlp data points are not rejected by monitoring tools

* Respect maxAttributeCount and use OtlpKeyValueTransformer in AddStringAttribute and in AddIntAttribute

* Extend CHANGELOG.md

Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2022-10-13 10:03:09 -07:00
Sebastian Schoder Moreno 73f8d3cb01
[Metrics] Update default buckets for Explicit Bucket Histogram from spec (#3722) 2022-10-12 17:02:23 -07:00
Yun-Ting Lin ee9b892d32
SqlClient Instrumentation to leverage native Activity Status. (#3751) 2022-10-12 15:42:35 -04:00
Mikel Blanchard e8af2a036d
[Zipkin] Support loading envvars from IConfiguration (#3759)
* Support loading envvars from IConfiguration in Zipkin exporter.

* CHANGELOG patch.
2022-10-12 10:52:48 -07:00
Mikel Blanchard f191e846d3
[SDK + Jaeger] Support loading environment variables from IConfiguration in Traces & Metrics (#3720)
* Support retrieval of environment variables through IConfiguration in SDK.

* Update Jaeger to load environment variables through IConfiguration.

* Warning fix.

* CHANGELOG patch.

* Bug fixes.

* Warning cleanup.

* Code review.
2022-10-12 09:56:07 -07:00
Cijo Thomas a6c3cac15d
Minor improvement to log message (#3742) 2022-10-07 17:44:10 -04:00
Cijo Thomas 45b63d78e2
Update workflow (#3741) 2022-10-07 12:01:18 -07:00
Cijo Thomas 419eec3730
Minor update to OTLP readme (#3739)
* Nit fixes to prometheus readme

* Add minor clarification about OTLP logs
2022-10-07 13:27:38 -04:00
Vishwesh Bankwar 3671e550fb
[HttpClient] Export spans corresponding to retries (#3732) 2022-10-07 13:08:55 -04:00
Reiley Yang 622583c6ff
clarify that Prometheus HttpListner is not for production at this moment (#3737) 2022-10-06 14:24:13 -04:00
Mikel Blanchard 7f71283c0b
[Logs] Fix buffered log scopes being reused (#3731)
* Fix buffered log scopes being reused.

* CHANGELOG update.

* Test fixes.

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-10-05 13:42:33 -07:00
Vishwesh Bankwar d42f171d13
[HttpClient] Unit test for retries (#3730) 2022-10-05 15:49:00 -04:00
Piotr Kiełkowicz e826f9d233
[Exporter.PrometheusAspNetCore] update Public API (#3717)
* Refactor prometheus exporter options.
2022-10-05 09:20:48 -07:00
Reiley Yang 6b38ed77f6
Reduce InternalsVisibleTo (#3726) 2022-10-04 15:16:59 -07:00
Piotr Kiełkowicz a8c222ab54
[Exporter.Prometheus] PrometheusSerializerTests - typo fixes (#3715) 2022-10-04 14:43:25 -07:00
dependabot[bot] 92fb3b345d
Bump actions/setup-dotnet from 3.0.0 to 3.0.1 (#3725)
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](https://github.com/actions/setup-dotnet/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-04 12:17:10 -07:00
Mikel Blanchard 92c1afdfc7
Update the library authro guidance on the hosting registration extensions. (#3719) 2022-10-03 10:19:06 -07:00
Mikel Blanchard 897abe333a
[Repo] ApiCompat updates (#3716) 2022-09-30 12:18:36 -07:00
Piotr Kiełkowicz 9809cf60c4
[Exporter,Prometheus] Fix PrometheusCollectionManagerTests (#3714) 2022-09-30 10:17:48 -04:00
Utkarsh Umesan Pillai 31eb92c45a
Fix folder name (#3713) 2022-09-30 00:08:01 -04:00
Utkarsh Umesan Pillai 6b7cc222dc
Update CHANGELOG for 1.4.0-beta.1 release (#3711) 2022-09-29 17:30:59 -07:00
Vishwesh Bankwar c40effd449
fix broken instrumentation (#3709) 2022-09-29 14:47:03 -07:00
dependabot[bot] 79ccb27ff6
Bump actions/setup-dotnet from 2 to 3.0.0 (#3706)
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 2 to 3.0.0.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](https://github.com/actions/setup-dotnet/compare/v2...v3.0.0)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
2022-09-29 13:56:21 -07:00
Mikel Blanchard a93f7138b1
Run workflows for any branch starting with "main". (#3708) 2022-09-29 12:04:43 -07:00
Mikel Blanchard 7fd3783371
[Logs] Revert logging API additions (#3702)
* Revert logging API additions.

* Cleanup.

* Cleanup.

* CHANGELOG update.

* Bug fix.
2022-09-28 17:18:38 -07:00
Alan West 4938c35e16
Trigger pack and publish when release is created (#3638) 2022-09-28 16:58:37 -07:00
Vishwesh Bankwar d10f1f945d
Unit test to validate spans in http redirect (#3699) 2022-09-27 17:51:41 -04:00
Vishwesh Bankwar 86ee906dcd
Update Diagnostic Source to rc version (#3698) 2022-09-27 10:34:30 -07:00
Vishwesh Bankwar 8800b2ffdb
Move all diagnostic source events to a single callback method `OnEventWritten` (#3691) 2022-09-26 15:22:41 -04:00
dependabot[bot] ed0450ef0e
Bump actions/stale from 5 to 6 (#3692)
Bumps [actions/stale](https://github.com/actions/stale) from 5 to 6.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-22 13:50:15 -07:00
Vishwesh Bankwar 84762870dd
Update aspnetcore benchmark results (#3688) 2022-09-22 13:16:06 -04:00
Piotr Kiełkowicz 3158d38bbd
[Exporter.Prometheus] Execute all tests in all supported frameworks (#3680) 2022-09-22 11:40:04 -04:00
Vishwesh Bankwar 74412f0b19
[ASP.NET Core] Enable diagnostic source events using explicit names (#3519) 2022-09-21 11:54:34 -07:00
Piotr Kiełkowicz 988a27be05
exportor -> exporter (#3678) 2022-09-20 00:40:58 -07:00
dependabot[bot] a6bdf63be7
Bump codecov/codecov-action from 3.1.0 to 3.1.1 (#3676)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3.1.0...v3.1.1)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-09-19 18:09:30 -07:00
Omar Boukli-Hacene f45206ba0e
Fix ConsoleActivityExporter output alignment (#3674) 2022-09-19 15:08:15 -04:00
Alan West 3d03426694
HttpClient instrumentation: Clarify drop of support for .NET 5 and prior (#3675) 2022-09-19 14:22:35 -04:00
Timothy Mothra 78e38423d7
improve eventsource tests - part 1 (#3586) 2022-09-16 19:22:22 -04:00
Mikel Blanchard d72a94f3ba
[Traces] Support named options in HttpWebRequest instrumentation (#3667)
* Added support for named options in the HttpWebRequest builder extensions.

* CHANGELOG update.
2022-09-15 11:54:35 -07:00
Mikel Blanchard 215f58bad5
[Traces] Support named options in HttpClient instrumentation (#3664)
* Enabled named options in httpclient instrumentation.

* Tests.

* CHANGELOG update.

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-09-15 10:56:13 -07:00
Mikel Blanchard 960908cb69
[Traces] Support named options in gRPC instrumentation (#3665)
* Support named options in grpc instrumentation.

* CHANGELOG update.
2022-09-14 17:40:53 -07:00
Mikel Blanchard 928d77056c
Use IOptionsMonitor instead of IOptionsSnapshot. (#3662) 2022-09-14 14:25:37 -07:00
Mikel Blanchard 97e5021c73
[Traces] Support named options in AspNetCore instrumentation (#3661)
* Support named options in aspnetcore instrumentation.

* CHANGELOG update.
2022-09-14 13:14:33 -07:00
Mikel Blanchard ef46e827a7
Support named options in the logger provider builder AddExporter API. (#3660) 2022-09-14 11:02:13 -07:00
Vishwesh Bankwar faf5bb5dfb
Update aspnetcore instrumentation benchmarks (#3642) 2022-09-14 13:42:10 -04:00
Reiley Yang e68abc8136
Output EOF following the OpenMetrics exposition recommendation (#3654)
* Output EOF following the OpenMetrics exposition recommendation

* update test case

* changelog
2022-09-14 10:08:42 -07:00
Mikel Blanchard 3a8f139e8e
Support named options in the tracer provider builder AddExporter API. (#3659) 2022-09-14 09:35:49 -07:00
blouflashdb d99307da34
Improve internal logging of LoggerProvider configuration (#3647) 2022-09-13 17:19:36 -07:00
Mikel Blanchard bc82fdc732
XML comment cleanup for in-memory exporter extensions. (#3658) 2022-09-13 16:00:04 -07:00
Mikel Blanchard 11c804ac68
[Logs + Traces] Add named options support to ConsoleExporter builder extensions (#3657)
* Add named options support to console exporter tracer & logger provider builder extensions.

* CHANGELOG update.
2022-09-13 15:19:22 -07:00
Mikel Blanchard cb2eeb5621
[Traces] Add named options support to JaegerExporter builder extensions (#3656)
* Add named options support to jaeger provider builder extensions.

* CHANGELOG update.

* Code review.
2022-09-13 14:51:58 -07:00
Mikel Blanchard a87f8f7373
[Traces] Add named options support to ZipkinExporter builder extensions (#3655)
* Add named options support to zipkin provider builder extensions.

* CHANGELOG update.
2022-09-13 14:22:04 -07:00
Mikel Blanchard b4ade26eae
[Traces] Add named options support to OtlpTraceExporter builder extensions (#3653)
* Add named options support to otlp trace provider builder extensions.

* CHANGELOG update.
2022-09-13 13:22:05 -07:00
Reiley Yang 6ea078ea2d
Support Prometheus UNIT metadata (#3651)
* support Prometheus UNIT metadata

* changelog
2022-09-13 11:25:24 -07:00
Mikel Blanchard de98eb7725
[Logs] Add named options support to OtlpLogExporter builder extensions. (#3652)
* Add named options support to otlp log provider builder extensions.

* CHANGELOG update.
2022-09-13 10:19:15 -07:00
Mikel Blanchard 79d8714cb3
[Metrics] Clean up repo exporters to use new DI patterns (#3648)
* Clean up metric exporters to use new DI patterns.

* Support named options with in-memory exporter build-up.

* Support named options in ConsoleExporter metrics extensions.

* Support named options in OtlpExporter metrics extensions.

* Support named options in PrometheusExporter AspNetCore metrics extensions.

* Support named options in PrometheusExporter HttpListener metrics extensions.

* CHANGELOG updates.

* Unit tests.
2022-09-12 17:41:51 -07:00
Mikel Blanchard 6ff512cf60
[Metrics] Improve dependency injection support in meter provider build-up using SDK (#3646)
* Mirror TracerProviderBuilder dependency injection API onto MeterProviderBuilder.

* Nullable annotations.

* Warning cleanup.

* Warning cleanup.

* Public API updates.

* Warning cleanup.

* Public API updates.

* CHANGELOG updates.

* Warning cleanup.

* Fixes.

* Tests.
2022-09-12 13:22:51 -07:00
Dawid Szmigielski cea14d3d36
Change StatusCode to 200 when no metrics are collected (#3643) 2022-09-11 00:56:29 -04:00
Mikel Blanchard 872a52f529
Instrumentation cleanup. (#3641) 2022-09-08 13:00:40 -07:00
Mikel Blanchard fb6463d25c
[Traces + Logs] Clean up repo exporters to use new DI patterns (#3640)
* Clean up trace & log exporters to use new DI patterns.

* Doc updates.

* Updates.

* Updates.
2022-09-08 12:08:25 -07:00
Mikel Blanchard 5208ec0586
[Logs] Sync up logger provider build-up scenarios with tracer provider (#3596)
* Since up logger provider build-up scenarios with tracer provider.

* CHANGELOG update.

* Code review.
2022-09-07 14:22:37 -07:00
Michael Maxwell 9c3d1b11f8
Binary search for large bucket count histograms (#3252)
* Binary search for large bucket count histograms

* Update CHANGELOG.md

* netcoreapp3.1 was complaining

* ci rerun

* ci rerun

* Update MetricTestData.cs

* use 400 buckets

* Update ExplicitBucketHistogramConfiguration.cs

Binary search for large bucket count histograms

Update CHANGELOG.md

netcoreapp3.1 was complaining

ci rerun

ci rerun

Update MetricTestData.cs

use 400 buckets

* separate nan part

* Address PR comments

- Remove conversion to float from `FindHistogramBucketIndexBinary`
- Make `DefaultHistogramCountForBinarySearch` a `const` instead of a `static readonly`

* update to 140

* remove double.nan from invalid hist bounds

* Refactor and perf to histogram bucket index find

Thanks to @CodeBlanch !!

* fine tune bound limit to switch to binary search

* included benchmark results in comment

* new bench result

* histogram stress test update

* fix changelog

* spacing fix

* sealed bucket class

* ci

* double.negative infinity

* update order of operations

when testing with large MaxValue this would end up having same value bounds

* remove stress test change

* ci

* Add histogram binary mode tests

* ci

* pr review changes

* allocated column - hist benchmark

* CI

Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-09-02 11:02:00 -07:00
Jacky Shang db0918e9b6
Fix: Logs could be exported via ConsoleExporter after LoggerFactory is disposed #1848 (#3578) 2022-09-02 12:15:45 -04:00
Cijo Thomas 0447871d48
Minor fixes to metrics, prometheus examples (#3623) 2022-09-01 21:41:09 -07:00
Alan West c2f5e80b0d
Support UpDownCounter and ObservableUpDownCounter (#3606) 2022-09-01 21:17:37 -04:00
Utkarsh Umesan Pillai a37198c6d0
Update releasing doc (#3621) 2022-08-30 20:52:56 -04:00
Alan West 46e6c8a06d
Move common Prometheus exporter tests to their own project (#3618)
* Move common Prometheus exporter tests to their own project

* Skip test for net462

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
2022-08-30 15:35:38 -07:00
Timothy Mothra 65b57df841
ignore config for live unit testing (#3587) 2022-08-30 14:51:40 -07:00
Vishwesh Bankwar c98a5a8fb9
[ASP.NET Core] Remove reflection for diagnostic source event payload (#3604) 2022-08-30 14:29:01 -07:00
Vishwesh Bankwar 098f2e0253
[ASP.NET Core] Add unit test for validating diagnostic source event subscription (#3597)
* add unit test for validating event subscription
2022-08-30 14:13:07 -07:00
Cijo Thomas f4b27df779
Improve Sampler tests to validate initial tags and links are passed (#3615) 2022-08-30 16:59:57 -04:00
Cijo Thomas b082922cc8
Benchmarks for sampler accessing and modifying tracestate (#3613) 2022-08-30 11:56:50 -04:00
Cijo Thomas b54cc80b67
Add support for samplers to modify Tracestate (#3610) 2022-08-29 19:28:18 -04:00
Mikel Blanchard e6d39b8b14
[Tracing] Improve dependency injection support in tracing build-up using SDK (#3533)
* TracerBuilder depedency injection improvements.

* Fixes and API updates.

* Update skipped test.

* Tweak.

* Tweaks.

* Test fix.

* Turn on options in TracerProviderBuilderBase.

* Updated CHANGELOGs.

* Added XML comments to AddOpenTelemetryTracing methods.

* Tweaks.

* Added export helpers and restored removed API from hosting library so that there is no breakage during upgrades.

* Export extension tweaks.

* Tweak.

* Tracer builder improvements.

* Fix hosting multiple configurations test.

* Cleanup.

* Cleanup and fixes.

* Added "UseOpenTelemetry" extensions.

* Cleanup.

* Code review.

* Code review.

* Rename SDK extension "Configure" and restore "Add" in the hosting lib.

* Doc clarification.

* Some test coverage.

* README updates.

* Fix double dispose of TracerProvider when using Sdk.CreateTracerProviderBuilder.

* AddExporter tests.

* More test coverage.

* More test coverage.

* Code review.
2022-08-29 13:14:24 -07:00
Cijo Thomas 8700d5dd9b
Update test and other tools versions (#3611) 2022-08-28 13:09:24 -04:00
Mikel Blanchard 28c0bccca8
[InMemoryExporter] Include original stack trace in ObjectDisposedException (#3609)
* InMemoryExporter dispose tweaks.

* Use Shutdown instead of ForceFlush.

* Fix another flaky test.

* Test fix.

* Test cleanup.
2022-08-26 13:46:33 -07:00
Reiley Yang 372767ac6e
[InMemoryExporter] Throw ObjectDisposedException if Export happened after disposal (#3607)
* Throw ObjectDisposedException if InMemoryExporter.Export is called after Dispose

* changelog

* address comments

* remove wording
2022-08-26 11:33:29 -07:00
al-mac 4310e08afd
Fix ASP.NET Core ExceptionFilter prevents recording exception (#3475) 2022-08-24 14:28:19 -04:00
Utkarsh Umesan Pillai 968dc52eb3
Fix Histogram synchronization issue (#3534) 2022-08-23 15:00:34 -04:00
Tom Tan ad55478452
Fix comment/doc for TracerProvider.Default (#3584) 2022-08-23 11:20:27 -04:00
Utkarsh Umesan Pillai 9c61b89583
Minor updates to RELEASING doc (#3598) 2022-08-22 21:36:42 -04:00
Utkarsh Umesan Pillai 42374d9583
Update CHANGELOG for more changes (#3590) 2022-08-18 15:20:41 -07:00
Mikel Blanchard 409b61d5f0
[Trace Exporters] Remove enumeration helper and use new net7 enumeration APIs (#3580)
* Remove enumeration helper and use new net7 enumeration APIs.

* Bug fixes.

* Add note.

* Don't use list pools in OTLP exporter. Implement drop counts.

* Added asserts for drop counts in span limits test.

* Added issue link to skip text.

* Populate DroppedAttributesCount on links & events.

* Code review.

* Code review.

* Added CHANGELOG note about dropped counts.
2022-08-18 15:02:10 -07:00
Utkarsh Umesan Pillai 245c2b3e29
Update pack and publish to MyGet workflow (#3589) 2022-08-18 14:49:03 -07:00
Utkarsh Umesan Pillai 7ba136f2c5
Update CHANGELOG for 1.4.0-alpha.2 version (#3588) 2022-08-18 14:13:39 -07:00
Alan West cedd2c45b4
Update changelog (#3585) 2022-08-17 17:35:56 -07:00
Vishwesh Bankwar 7fd9cb34ab
Remove netstandard targets from asp.netcore instrumentation (#3567) 2022-08-17 17:26:35 -07:00
Alan West 7223ec0cbe
Add notice of update to DiagnosticSource 7.0.0 (#3581) 2022-08-17 11:57:12 -07:00
Tom Tan 28473bc465
Use runtime intrinsic to count leading zero (#3574)
* Use runtime intrinsics to count leading zero

* Fix using order

* Add correct guard for using

* Exclude non-applicable tests

* Revert "Exclude non-applicable tests"

This reverts commit 6991fec04a.
2022-08-16 09:50:11 -07:00
Yun-Ting Lin d1da1d66a3
GrpcNetClient Instrumentation to leverage native Activity Status. (#3569) 2022-08-12 13:06:26 -04:00
Tom Tan a2958ebd48
Add comment to ScaleDownInternal (#3572) 2022-08-12 12:36:58 -04:00
Vishwesh Bankwar bbb7e98ec5
#3490 follow up (Fix asp.net core middleware activity modification issue) (#3498) 2022-08-11 13:35:43 -04:00
Piotr Kiełkowicz 99b49b677d
Remove unused MicrosoftAspNetCoreHttpFeaturesNet3PkgVer (#3570) 2022-08-11 11:48:34 -04:00
Yun-Ting Lin dd8809900a
AspNetCore/Http Instrumentation to leverage native Activity Status. (#3555) 2022-08-10 15:51:17 -04:00
Vishwesh Bankwar d6e4d98d3f
nit clean up (#3568) 2022-08-10 15:37:34 -04:00
Cijo Thomas d5bfce8911
Nit fixes to prometheus readme (#3565) 2022-08-09 06:47:33 -07:00
Vishwesh Bankwar b8385a8ca0
Refactor asp.net core test apps (#3558) 2022-08-08 20:41:03 -07:00
Vishwesh Bankwar 361912efa7
Refactor w3tracecontext integration test (#3563) 2022-08-08 17:04:41 -07:00
Mikel Blanchard 952c3b17fc
[Logs] Support dependency injection in logging build-up (#3504)
* Support dependency injection in logging. Add AddOpenTelemetryEventSourceLogEmitter extension.

* CHANGELOG update.

* Bug fixes and a test.

* More fixes and more tests.

* Tweak comments for clarity.

* Added OpenTelemetryLoggerOptions.Services xml detail remarks.

* More tests.

* More tests.

* Test fix.

* More tests.

* Tests and fixes.

* Warning cleanup.

* Added resource test.

* Smooth out multiple resource configurations.

* Resource chaining fix.

* Remove throw for additional SetResourceBuilder calls.

* Warning fixes.

* Moved OpenTelemetryEventSourceLogEmitter extension to OpenTelemetryLoggerOptions.

* Tweaks.

* Switched from static to builder pattern.

* Tweaks.

* More tests.

* Fix CHANGELOG for release.

* Tweaks.

* Test updates.

* Added a detached configuration option.

* Prevent double registration to be consistent with tracer builder pattern.

* API review.

* Warning cleanup.

* Build fixes.

* Test fix.
2022-08-05 17:56:04 -07:00
Reiley Yang 72f4e07d96
Update sanity check to cover .github and .vscode folders (#3557) 2022-08-05 13:41:32 -07:00
Reiley Yang ce99d444b0
Exponential Bucket Histogram - part 9 (#3553) 2022-08-05 13:29:04 -07:00
Alan West 620587978b
New newline at end of file (#3556) 2022-08-05 13:05:59 -07:00
Vishwesh Bankwar 7ec4ecb6f2
recommend VS2022 preview (#3554) 2022-08-05 12:21:43 -07:00
Mikel Blanchard 58ee541cff
[net7-main] Fixes to get solution building in VS (#3552)
* Fixes to get solution building in VS with net7 changes.

* More fixes + some code review.

* CONTRIBUTING update.

* Attempting to fix integration tests.

* Attempting to fix integration tests.

* Attempt to fix integration tests.

* Attempt to fix integration tests.
2022-08-05 10:49:06 -07:00
Piotr Kiełkowicz 69d11bbfb2
[Instrumentation.Http] Change Activity Source Name for HttpWebRequest… (#3515) 2022-08-05 10:31:31 -07:00
Vishwesh Bankwar 135fa9c7e9
netcoreapp3_1 code cleanup (#3551) 2022-08-05 09:04:20 -07:00
Yun-Ting Lin 666a0c1348
PrometheusExporter namespace cleanup. (#3530) 2022-08-04 20:38:59 -07:00
Vishwesh Bankwar 668b07335b
Clean up netcoreapp3.1 and add net7.0 to tests (#3543) 2022-08-04 20:21:55 -07:00
Vishwesh Bankwar 70b749cbfb
fix dotnet-format (#3549) 2022-08-04 18:19:25 -07:00
Cijo Thomas 0be837f895
Nit workflow fix to keep CI greener (#3548) 2022-08-04 16:56:40 -07:00
Timothy Mothra aba6eafb8f
improve code coverage: `BaseExporter`, `BaseProcessor`, `PooledList`, `SamplingResult`, `SimpleExportProcessor`, `TracerProviderExtensions`, `MathHelper`, and `WildcardHelper` (#3476) 2022-08-04 16:05:00 -07:00
Alan West 51c6d13460
Clean up github workflows (#3544) 2022-08-04 12:50:41 -07:00
Alan West a789bc0259
Merge net7.0 to main (#3539) 2022-08-04 10:25:21 -07:00
Alan West 2b6a3b0958
Update protos to v0.19.0 (#3535)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-08-03 19:50:08 -07:00
Utkarsh Umesan Pillai 623f3881f8
Update OpenTelemetry.Instrumentation.Runtime version (#3538) 2022-08-03 18:33:26 -07:00
Cijo Thomas 21d185a7d8
Add stress test to traces (#3527) 2022-08-03 18:13:44 -07:00
Utkarsh Umesan Pillai 59c983e331
Update Histogram updates (#3536) 2022-08-03 17:42:53 -07:00
Alan West 25df7e85b0
Revert "Merge branch 'net7.0' into main" (#3531)
This reverts commit e64015cadd, reversing
changes made to 5653454b0c.
2022-08-03 15:47:18 -07:00
Alan West e64015cadd
Merge branch 'net7.0' into main 2022-08-03 13:37:36 -07:00
Yun-Ting Lin 5653454b0c
nits: doc update, test cleanup (#3520) 2022-08-03 12:40:01 -07:00
Vishwesh Bankwar 2b15b3dc13
[.NET7.0] Http client activity source migration (#3415) 2022-08-03 11:59:13 -07:00
Vishwesh Bankwar e24677b8ea
[.NET7.0] AspNetCore ActivitySource Migration (#3391) 2022-08-03 11:57:25 -07:00
Alan West 8dd0743174
Merge branch 'main' into net7.0 2022-08-03 11:46:27 -07:00
Cijo Thomas c1df3a7577
Nit internal fixes for PrometheusExporter (#3525) 2022-08-03 10:16:31 -07:00
Cijo Thomas fc315f3f7e
Nit cleanup (#3518) 2022-08-02 20:29:55 -07:00
Utkarsh Umesan Pillai 83a8f94ad0
Update CHANGELOG for 1.4.0-alpha.1 release (#3523) 2022-08-02 18:28:08 -07:00
Paulo Janotti 3929727675
Fix OpenTracing shim under legacy AspNetCore activities (#3506) 2022-08-02 17:38:10 -07:00
Reiley Yang 2821898b8a
Minor improvements to Prometheus Exporter (ASP.NET Core) (#3522) 2022-08-02 17:10:00 -07:00
Reiley Yang 27658f058c
Improve PrometheusHttpListener options (#3521) 2022-08-02 15:39:41 -07:00
Timothy Mothra a1cdb28eaa
refactor test exporters, use instead `DelegatingTestExporter` (#3486) 2022-08-02 13:10:11 -07:00
Cijo Thomas 5a327df4d0
ConsoleLogExporter special casing original format (#3516) 2022-08-02 11:57:19 -07:00
Yun-Ting Lin 2b573f8395
Aligning formats for CHANGLOG.md files. (#3513) 2022-08-01 17:37:25 -07:00
Yun-Ting Lin f97d3386d3
[Prometheus] Update changelog and minor cleanup. (#3512) 2022-08-01 17:07:42 -07:00
Cijo Thomas 0187a2a77a
Nit fixes to prometheus asp.net core (#3511) 2022-08-01 11:40:12 -07:00
Cijo Thomas 6c616c15b5
Nit fixed in prometheus for asp.net core (#3510) 2022-08-01 11:09:15 -07:00
Reiley Yang 8d5d3d6ee8
Dust off Prometheus Exporters (#3507) 2022-08-01 10:33:00 -07:00
Yun-Ting Lin 084244ccae
[Prometheus] Remove shared project and move the shared code under listener project (#3503) 2022-07-29 17:16:20 -07:00
Reiley Yang f21afc8ce9
Exponential Bucket Histogram - part 8 (#3505) 2022-07-29 16:26:28 -07:00
Timothy Mothra cb6b7a82ce
improve test coverage: OpenTelemetry.Api `CallerArgumentExpressionAttribute` (#3362) 2022-07-29 14:10:12 -07:00
nayang7 0a4a625158
Fix Remote IP Address - NULL reference exception (#3481) 2022-07-28 22:36:19 -07:00
liangli 82e041c27c
fix: replace all newtonsoft.json usages (#3478) 2022-07-28 19:12:28 -07:00
Reiley Yang aa153c137c
Fix nits (#3502) 2022-07-28 18:08:47 -07:00
Yun-Ting Lin cd6043bbf7
[Prometheus] Split up projects based on hosting mechanism. (#3430) 2022-07-28 16:02:53 -07:00
Mikel Blanchard 2b1e75d7e9
[Logs] Add extension for registering OpenTelemetryLoggerProvider with ILoggingBuilder (#3489) 2022-07-28 13:11:02 -07:00
Piotr Kiełkowicz f089ec75bd
EnvironmentVariableHelper support for boolean (#3457) 2022-07-28 09:30:33 -07:00
Alan West c1f376ac8b
OTLP exporter support for limiting activity tags, events, and links (#3376) 2022-07-28 07:48:21 -07:00
Reiley Yang 25cfa1721f
Exponential Bucket Histogram - part 7 (#3499)
* hammer out the upper/lower bound of scale

* comment
2022-07-27 16:21:55 -07:00
Vishwesh Bankwar 6789efab53
Asp.Net Core Unit test [Activity started in middleware is modified by instrumentation] (#3490) 2022-07-27 15:27:44 -07:00
Cijo Thomas f9ed3047b6
Minor fixes to Stress Tests (#3496) 2022-07-27 14:52:46 -07:00
Reiley Yang 44ac86cb74
Exponential Bucket Histogram - part 6 (#3494) 2022-07-26 16:23:31 -07:00
Reiley Yang 6f2b1a0b34
Exponential Bucket Histogram - part 5 (#3482) 2022-07-25 10:16:21 -07:00
Reiley Yang a55e3391cd
Simplify code by using struct default initialization (#3484) 2022-07-25 09:46:31 -07:00
Reiley Yang 720cbdd2f8
Exponential Bucket Histogram - part 4 (#3477)
* cover integer overflow

* seal

* static
2022-07-22 16:59:52 -07:00
Mikel Blanchard bfabe9bc26
[Logs] OpenTelemetry.Extensions.EventSource extensions project (#3454)
* Add OpenTelemetryEventSourceLogEmitter.

* Project rename.

* Started tests.

* Added behavior comment in example.

* Add  --prerelease in READMEs.

* Example tweaks.

* Test improvements.

* Added activity_id/related_activity_id test.

* Warning cleanup.
2022-07-22 15:40:39 -07:00
Vishwesh Bankwar 1cd84d806a
remove sethttpflavor (#3474) 2022-07-22 12:03:01 -07:00
Reiley Yang 795aedc7de
Exponential Bucket Histogram - part 3 (#3473) 2022-07-22 11:24:50 -07:00
Cijo Thomas 7de3f001bd
Update instrumentation.runtime version (#3471) 2022-07-21 22:56:28 -07:00
Mikel Blanchard bef48ac620
Fix ExceptionProcessor test failing on x86. (#3467) 2022-07-21 17:19:25 -07:00
Reiley Yang cf3dfc51f5
Exponential Bucket Histogram - part 2 (#3468) 2022-07-21 13:35:01 -07:00
Vishwesh Bankwar 54e83a9c9b
Add http.scheme tag to HttpClient instrumentation (#3464)
* add http.scheme tag
2022-07-20 13:59:07 -07:00
Reiley Yang 95419ed309
Exponential Bucket Histogram - part 1 (#3462) 2022-07-20 12:16:32 -07:00
Vishwesh Bankwar f58d9094b9
fix changelog typo (#3465) 2022-07-20 11:30:26 -07:00
Alan West 3d6be9cb57
Start ZPages HttpListener sooner (#3463) 2022-07-20 10:20:17 -07:00
Piotr Kiełkowicz d93606ea71 typo fixes (#3459) 2022-07-20 07:31:43 -07:00
Alan West 5c9a5c6781
Add RecordException overload accepting additional tags (#3433)
* Add RecordException overload accepting additional tags

* Update changelog

* Update public api

* Use TagList

* Update public API

* Update public API

* Check if activity is null

* -?

Co-authored-by: Utkarsh Umesan Pillai <utpilla@microsoft.com>
2022-07-19 14:57:18 -07:00
Robert Pająk 2ebea481f2
docs: auto-instrumentation vs instrumentation state (#3452) 2022-07-18 16:36:22 -07:00
Mikel Blanchard ab10e119ba
[Logs] Serilog extensions project (#3438)
* Add Serilog extensions project.

* Improve provider disposal when using serilog.

* Warning fixes.

* Fix README.

* Code review.

* Move Serilog version to props.

* Rename LogEmitter.Log -> Emit.

* Added unit tests.

* Warning cleanup.

* Code review.

* Standard README jazz.

* Removed ApiCompat block.
2022-07-18 09:38:02 -07:00
Robert Pająk a19d106e0c
Support OTEL_METRIC_EXPORT_INTERVAL and OTEL_METRIC_EXPORT_TIMEOUT (#3424) 2022-07-15 07:46:03 -07:00
Gabriel Lucaci bc4f788383
Fix exact match in wildcard (#3446)
* Add support for exact match
2022-07-14 23:17:26 -07:00
Sami Musallam f471a9f197
feat(enhance-tracertest): removed unused tracerProvider (#3437) 2022-07-11 16:40:48 -07:00
Gérald Barré 1c6bb182c7
Replace StringComparison.InvariantCultureIgnoreCase with OrdinalIgnoreCase (#3436) 2022-07-11 16:20:08 -07:00
Utkarsh Umesan Pillai be6ab712b5
Update SqlInstrumentation ActivitySource name (#3435)
* Update SqlInstrumentation ActivitySource
2022-07-11 13:51:08 -07:00
Mikel Blanchard be588bdcd3
Logs: Add LogEmitter API (#3423)
* Add LogEmitter API.

* Added LogEmitter tests.

* Updated to NOT push ILogger scopes onto LogRecords created through LogEmitter.

* Timestamp tests.

* LogRecordAttributeList tests + bug fix.

* Warning cleanup.

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-07-11 08:59:44 -07:00
Alan West 85ba904b48
Add Utkarsh as maintainer (#3432) 2022-07-07 16:58:19 -07:00
Utkarsh Umesan Pillai 624fa210c2
Update Newtonsoft.Json package version (#3431) 2022-07-07 07:28:48 -07:00
Cijo Thomas 5842a0a434
update minverto latest (#3427) 2022-07-05 13:24:23 -07:00
Mikel Blanchard 9858e3ace3
Logs: Add log record pooling (#3385)
* Add log record pooling.

* Tweak.

* Update CHANGELOG.

* Code review.

* Code review.

* Code review.

* Code review.

* Nit.

* Improvement.

* Code review.

* Make resize internal.

* Add more details to comments about write race.

* State buffering tests.

* Comments about buffering.

* Added code comments.

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-06-30 09:33:09 -07:00
Cijo Thomas 09ef47dbc1
Update Instrumentation.RunTime version (#3419) 2022-06-29 22:07:37 -07:00
Cijo Thomas f4dddbe7da
Add runtime metrics to example aspnet core app (#3408) 2022-06-28 06:08:46 -07:00
Cijo Thomas dae9f7dac2
Use RunTimeMetrics for stress (#3403) 2022-06-27 21:31:06 -07:00
Cijo Thomas ee7ffd37dc
checkout with fetch all commits (#3413) 2022-06-27 19:51:18 -07:00
Alan West 1bb36fbd48
Use fetch-depth 0 to make minver work properly (#3412) 2022-06-27 19:29:29 -07:00
Christian Neumüller 34efdbf448
Add & use ConfigureResource API. (#3307) 2022-06-27 08:59:59 -07:00
Alan West 98b4fde1ca
HttpClient: Invoke Enrich when SocketException = HostNotFound (#3407) 2022-06-24 14:03:54 -07:00
Alan West b7a3a834d0
Handle possible exception when initializing the default service name (#3405) 2022-06-24 13:12:11 -07:00
Utkarsh Umesan Pillai 1f4d97e3e0
Remove AspNet and AspNet.TelemetryHttpModule instrumentation projects (#3397) 2022-06-23 21:15:17 -07:00
Reiley Yang 2e334df8ae
Dedupe IsPackable (#3398) 2022-06-22 19:05:47 -07:00
Vishwesh Bankwar 0f0a96d31f
add net7.0 for httpclient tests (#3389)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-06-22 12:10:42 -07:00
Cijo Thomas 9bb7aaf727
Try asp.net core tests with inproc server (#3394) 2022-06-22 10:26:21 -07:00
Cijo Thomas cc5083e37b
Asp.Net Core trace instrumentation to populate http schema tag (#3392) 2022-06-20 12:29:23 -07:00
Vishwesh Bankwar 6c9dc8e2b3
[.NET7.0] Add net7.0 target to w3c trace contexts (#3390)
* Add net7.0 target for w3ctracecontext tests

* net70 dependency

* fix typo
2022-06-20 11:29:00 -07:00
Cijo Thomas d74ac9ea4a
Remove SetHttpFlavor from Http instrumentations (#3381) 2022-06-18 10:36:27 -07:00
Mikel Blanchard 274dc440e0
Logs: Add LogRecordData (#3378)
* Add LogRecordData and hook up to LogRecord.

* CHANGELOG update.

* Code review.
2022-06-17 21:30:56 -07:00
Cijo Thomas 3c38200f96
Fix AspNetCore metrics to use correct value for http.flavor (#3379)
* Fix AspNetCore metrics to use correct value for http.flavor

* word better
2022-06-17 14:29:17 -07:00
Timothy Mothra 6053c03b8f
improve test coverage: InMemoryExporter SnapshotMetric (#3344) 2022-06-17 11:43:10 -07:00
Cijo Thomas fd24811e75
ASPNETCore instrumentation to populate httpflavor tag (#3372) 2022-06-17 11:20:28 -07:00
Mikel Blanchard ee11de90a3
SDK: Nullable annotations for base classes & batch + shims to enable compiler features (#3374)
* Nullable annotations and shims for SDK base classes & batch.

* Target updates.

* Remove System.Collections.Immutable ref.

* ApiCompat attribute exclusions.
2022-06-17 10:46:11 -07:00
Vishwesh Bankwar 5d5f1f2964
Add net7.0 target for aspnetcore (#3366) 2022-06-17 10:27:18 -07:00
Mikel Blanchard 17e6d76087
Logs: Add helper ctors & forceflush on OpenTelemetryLoggerProvider (#3364)
* Add helper ctors & forceflush on OpenTelemetryLoggerProvider.

* CHANGELOG update.

* Unit tests.

* Code review.

* Code review.

* Tweak.
2022-06-16 15:50:17 -07:00
Mikel Blanchard 870eb92e5c
Examples: Fix ParentProvider not being set on MyFilteringProcessor (#3370)
* Fix ParentProvider not being set on MyFilteringProcessor example.

* Added XML comments.

* Tweak.

* Typo.
2022-06-16 15:32:29 -07:00
Mikel Blanchard a58c7a3f62
SDK: Forward SetParentProvider to children of CompositeProcessor (#3368) 2022-06-16 07:23:45 -07:00
Mikel Blanchard b680ec624c
In-memory Exporter: Buffer log scopes (#3360)
* Buffer log scopes when using in-memory exporter.

* CHANGELOG update.

* Code review.

* Tests.

* CHANGELOG tweak.
2022-06-15 10:01:58 -07:00
Mikel Blanchard 8b1521fe2c
Fix event name logic + support null categoryname. (#3359) 2022-06-13 13:54:48 -07:00
Mikel Blanchard a80f1f21b4
[SDK] Circular buffer tweaks + cpu pressure test (#3349)
* CircularBuffer tweaks and cpu pressure test.

* Switch to Volatile.Read.

* Perf tweaks.

* Remove race check in debug after doing more testing.

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-06-10 17:10:05 -07:00
Timothy Mothra 2ab6281612
improve test coverage: InMemoryExporter & IDeferredMeterProviderBuilder (#3345) 2022-06-09 14:48:11 -07:00
Alan West c07917913c
Fix OTLP test (#3357)
* Show that test is not doing what you might think it does

* More asserts the merrier

* Show this little test that it has potential
2022-06-09 13:53:05 -07:00
Robert Pająk 91d7e83f23
Remove unnecessary bullet in CHANGELOG.md (#3352)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-06-08 09:32:50 -07:00
tyler jago 1da5b8623c
Added Jaeger Propagator to Opentelemetry.Extensions.Propagators (#3309) 2022-06-08 09:16:56 -07:00
Alan West d84f0edf77
Use DiagnosticSource 7.0 and drop netcoreapp3.1 target (#3351)
* Remove AspNetCore 3.1 test app

* Remove netcoreapp3.1 target from projects

* Bump to DiagnosticSource 7.0.0-preview.4.22229.4

* Enable CI on net7.0 branch

* Remove trailing space
2022-06-07 20:46:15 -07:00
Hannah Chan efc55d54fa
Prometheus Exporter - New .MapPrometheusScrapingEndpoint() Extension Method (#3295) 2022-06-07 16:28:59 -07:00
Utkarsh Umesan Pillai c90ab4a2f2
Remove StackExchangeRedis Instrumenation (#3346)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-06-07 09:35:43 -07:00
Utkarsh Umesan Pillai 8df82a2d7f
Update .sln file;Remove docker compose file for net5.0 (#3347) 2022-06-07 09:14:09 -07:00
Cijo Thomas a209aa34cb
Minor test fixes sln additions (#3341) 2022-06-06 15:04:55 -07:00
Vishwesh Bankwar 5a566e6b76
Add isRemote check for context propagation (#3329) 2022-06-06 12:09:50 -07:00
Alan West a2aa3057a6
Fix NullReferenceException caught by SDK when metric has a tag with a null value (#3325) 2022-06-03 15:38:51 -07:00
Cijo Thomas 5006370265
Post release cleanups (#3340) 2022-06-03 13:18:17 -07:00
Cijo Thomas 6e2b7a1c38
Move public api to shipped (#3338) 2022-06-03 12:16:09 -07:00
Cijo Thomas 55260e6858
Update changelog to prepare release (#3337) 2022-06-03 11:33:11 -07:00
Cijo Thomas 7d92b87b49
Fix EventSource for B3Propagator (#3336) 2022-06-03 11:08:44 -07:00
Cijo Thomas 6493cdd90f
ConsoleMetricExporter to export all resource attributes (#3334) 2022-06-03 10:44:37 -07:00
Reiley Yang fa21e1e1dd
cleanup CI (#3332) 2022-06-02 13:24:03 -07:00
Cijo Thomas 05feb69d34
Replace MOQ with InMemoryExporter in ASP.NET Core (#3328) 2022-06-02 09:21:19 -07:00
Vishwesh Bankwar 0b09346426
Propagation in case of remote parent (#3310) 2022-06-01 18:51:31 -07:00
Alan West 8fc2f3f2c7
Update protos to 0.18.0 (#3321)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-06-01 18:39:29 -07:00
Cijo Thomas 82c49c61a6
Adjust changelog to reflect actual date and package (#3327) 2022-06-01 16:17:35 -07:00
Cijo Thomas 56d667759c
Changelog update for 1.3.0-rc.1 release prep (#3320) 2022-05-31 15:11:49 -07:00
Cijo Thomas 3b0e7591be
Add Extensions.Propagators to core (#3318) 2022-05-31 14:57:09 -07:00
Alan West 889e71c7cd
Add core tag prefix to OTLP logs project (#3316) 2022-05-31 12:24:00 -07:00
Alan West f31494874c
Use TagTransformer for ConsoleExporter 💻 (#3311) 2022-05-31 11:51:31 -07:00
John b0452530b7
feat(tracing): deprecate use of B3 propagator class from API package - use Extensions.Propagators package instead (#3289) 2022-05-31 08:44:53 -07:00
Alan West 4e6d073672
Exporting tags consistently (#3281) 2022-05-26 18:55:54 -07:00
Timothy Mothra b9839f6bb7
fixing InMemoryExporter & Metrics bug. new class: MetricSnapshot. new ctor: InMemoryExporter(Func) (#3266) 2022-05-25 16:32:38 -07:00
Piotr Kiełkowicz 8aa1778b43
Refactor string extensions (#3306) 2022-05-25 11:13:40 -07:00
Mikel Blanchard 292b41667c
[SDK] Final round of nullable annotations for the logging API (#3303)
* Final round of nullable annotations for the SDK log API.

* Code review and missing XML comments.
2022-05-24 16:40:29 -07:00
Mikel Blanchard f7830afd95
More nullable annotations for the log API. (#3302) 2022-05-24 15:38:10 -07:00
Mikel Blanchard e5cdd74cae
[SDK] Nullable annotations for LogRecord (#3301)
* Nullable annotations for LogRecord.

* Tweak.
2022-05-24 13:56:17 -07:00
Utkarsh Umesan Pillai 2b3df05f54
Update CHANGELOG for non-core components (#3299) 2022-05-23 21:45:21 -07:00
Reiley Yang fd63991cdf
Make the SDK more forgiving for ObjectDisposedException (#3291) 2022-05-19 11:54:14 -07:00
Cijo Thomas a3e619ff3c
Add doc to show logs to trace correlation (#3288) 2022-05-19 09:57:24 -07:00
John 641b2f76f1
doc(propagators): switch to use new Extensions.Propagators package, add some documentation (#3271) 2022-05-18 11:43:19 -07:00
Alan West eb8844a7ec
Add null check when a view does not match an instrument (#3285)
* Add null check when a view does not match an instrument

* Update changelog
2022-05-18 04:58:12 -07:00
Cijo Thomas 55c5dd18e9
Prepare for 1.3.beta.2 release (#3284) 2022-05-16 17:09:55 -07:00
Alan West a38346329f
Use ToOtlpAttribute method for traces (#3274) 2022-05-16 08:26:58 -07:00
Alan West d983cb1270
Handle null values in array attributes (#3273) 2022-05-13 12:17:09 -07:00
Alan West e7f06afd51
OTLP exporter: Standardize handling of attributes (#3262) 2022-05-11 11:19:29 -07:00
Cijo Thomas a53900f7dc
Fix incorrect links in chagelog (#3270) 2022-05-11 10:28:02 -07:00
John 5c168a3faf
Separate OpenTelemetry.Api B3 Trace Propagator to a new Nuget Package (#3244) 2022-05-10 12:09:15 -07:00
Cijo Thomas 9e827ece64
Update instrumentation readme to indicate pre-release status (#3264) 2022-05-10 08:08:03 -07:00
Cijo Thomas 72fcbf3201
Minor leftover cleanups from ci jobs (#3265) 2022-05-10 08:01:20 -07:00
Cijo Thomas 05cf80ffac
Update instrumentation readme to indicate pre-release status (#3263) 2022-05-10 06:32:04 -07:00
Reiley Yang 7a4f9325da
Add mermaid diagrams (#3260) 2022-05-09 10:18:18 -07:00
Reiley Yang 032514dd4a
Add Jaeger tutorial (#3258)
* add Jaeger tutorial

* http instr
2022-05-08 07:58:45 -07:00
Vishwesh Bankwar ee19d70492
Add additional tags to ASP.NET Core metrics (#3247) 2022-05-06 14:44:54 -07:00
Alan West 95500ff8fa
Add netstandard2.0 target to Grpc.Net.Client instrumentation (#3105) 2022-05-06 10:34:29 -07:00
Cijo Thomas e8659f7fc9
Use InMemoryExporter instead of Moq in sqltest (#3255)
* Use InMemoryExporter instead of Moq in sqltest

* fix test
2022-05-05 12:40:46 -07:00
Reiley Yang 2e63fd99a8
minor docs cleanup (#3246)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-05-02 15:38:07 -07:00
Alan West dff199603d
Fix handling of OTLP ArrayValue attributes (#3238)
* Fix handling of OTLP ArrayValue attributes

* Update changelog

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-05-02 15:13:44 -07:00
Yun-Ting Lin f2b6671bc3
Doc update to use 1.2.0 stable version. (#3242) 2022-05-02 13:22:49 -07:00
Michael Maxwell b8aaf1a199
Update Guard.cs (#3236)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-04-29 08:41:33 -07:00
Vishwesh Bankwar 0741a9de24
Remove w3c check HttpClient (#3235)
* remove w3c check

* unnecessary usings
2022-04-27 19:25:20 -07:00
Reiley Yang 117b70c039
Revert "reword" (#3233)
This reverts commit b03b18b485.
2022-04-26 18:36:03 -07:00
Reiley Yang b03b18b485 reword 2022-04-26 18:16:16 -07:00
Cijo Thomas 1bdb512c5b
OTLP LogExporter to add LoggerCategory as attribute (#3221) 2022-04-26 13:41:20 -07:00
dependabot[bot] c7af2d0646
Bump github/codeql-action from 1 to 2 (#3230)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-25 12:12:59 -07:00
Cijo Thomas 660ed691c5
Update main readme with project status (#3228)
* Update main readme with project status

* minor adjustments
2022-04-22 14:35:08 -07:00
Cijo Thomas f9602e2d43
Cleanup .NET 5.0 (#3227)
* Cleanup net5.0 apps and readme

* api doc
2022-04-22 13:42:22 -07:00
Cijo Thomas 0868872c1a
Remove NET5.0 target from OTLP Exporters (#3226) 2022-04-22 12:09:47 -07:00
Cijo Thomas d1ec45ce15
Add HTTP/Protobuf exporter for OTLP Logs (#3225) 2022-04-22 10:55:50 -07:00
Cijo Thomas 06d623bf5a
Remove net5.0 target from aspnet core instrumentation (#3223) 2022-04-22 09:23:39 -07:00
Cijo Thomas 5c0ad88576
Remove net461 from OpenTracing shim (#3224) 2022-04-22 09:05:32 -07:00
Cijo Thomas e35216a9a2
Remove net5.0 from Zipkin and replace with net6.0 (#3222)
* Remove net5.0 from Zipkin and replace with net6.0

* Public api
2022-04-22 08:08:37 -07:00
Yun-Ting Lin 11699a351e
Exposed public setters for LogRecord.State, LogRecord.StateValues, and LogRecord.FormattedMessage. (#3217) 2022-04-21 22:02:47 -07:00
Cijo Thomas ad2969df88
Remove net5.0 from JaegerExporter (#3220) 2022-04-21 19:24:09 -07:00
Cijo Thomas 1918e4b3cc
OTLP LogExporter to support ILogger Scopes (#3218) 2022-04-21 13:15:54 -07:00
dependabot[bot] 60f743a4e9
Bump codecov/codecov-action from 3.0.0 to 3.1.0 (#3216) 2022-04-21 12:54:16 -07:00
Cijo Thomas cc7cf73dae
Console LogExporter to display Body (#3213) 2022-04-21 09:49:02 -07:00
Cijo Thomas 87ab4af4cd
Remove NET5 from tests and CI (#3215) 2022-04-21 09:21:07 -07:00
Cijo Thomas a64128f896
Fix changelog entry in wrong place (#3214) 2022-04-21 06:19:03 -07:00
Cijo Thomas b4267c7784
OTLP LogExporter to enable ParseStateValues by default (#3186) 2022-04-20 19:37:48 -07:00
Cijo Thomas 50baa25080
ConsoleExporter Log minor cosmetic improvement. (#3211) 2022-04-20 13:37:52 -07:00
Cijo Thomas 1916cc95c9
Update changelog for next release (#3197)
* Update changelog for next release

* rename alpha to beta
2022-04-20 08:11:07 -07:00
Reiley Yang 317a2eb767
Remove 'release' badge (#3207) 2022-04-20 08:08:07 -07:00
Timothy Mothra eaa9370b6e
update windows-ci-md (#3199)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-04-18 07:52:18 -07:00
Reiley Yang 8511e92f06
Docs minor tune (#3200) 2022-04-16 11:56:28 -07:00
Cijo Thomas 2f8bcc4e36
Bump minimum required version of Msft.Extensions.Logging to 3.1 (#3196) 2022-04-15 14:04:47 -07:00
Utkarsh Umesan Pillai 1d16e0b049
Add additional ThreadStatic storage to avoid allocation while sorting tags (#2865)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-04-15 13:47:45 -07:00
Cijo Thomas edede3a32a
Remove net461 from Prometheus SQL SE HTTP Client (#3195) 2022-04-15 13:05:42 -07:00
Cijo Thomas 052b10a4df
Remove net461 from jaeger zipkin and otlp exporters (#3194) 2022-04-15 12:41:01 -07:00
Cijo Thomas 733c59ad1e
Remove net461 from console inmemory exporters, asp.net (#3193) 2022-04-15 12:11:04 -07:00
Cijo Thomas 24a3bf4f56
Remove net461 support from API and SDK (#3191) 2022-04-15 11:50:20 -07:00
Cijo Thomas 503d2b0e37
Update PreviousStableVersion to be 1.2.0 (#3189)
* Update PreviousStableVersion to be 1.2.0

* remove inmemoryexporter apicompat
2022-04-15 11:23:20 -07:00
Cijo Thomas cab5b26a24
Prepare 1.2.0 stable release. (#3188)
* Update changelog date for 1.2.0stable

* Move public api to shipped
2022-04-15 10:26:06 -07:00
Alan West 73cc937209
Public setter for MetricReaderOptions.PeriodicExportingMetricReaderOptions (#3184) 2022-04-14 19:10:10 -07:00
Cijo Thomas c926c02307
OTLP LogExporter to special case {OriginalFormat} to populate body (#3182) 2022-04-14 13:58:19 -07:00
Travis Illig ed3945dfe3
Prometheus exporter returns 204 No Content and logs warning on no metrics. (#3181) 2022-04-14 11:15:27 -07:00
Cijo Thomas 903cf1ee31
OTLP Tests - Minor improvements (#3180) 2022-04-14 10:09:02 -07:00
Cijo Thomas 02301b6236
Minor tweak to OTLP LogExporter tests (#3178) 2022-04-13 22:56:47 -07:00
Cijo Thomas a9d15c05b4
Fix severity mapping for OTLP Log Exporter (#3177) 2022-04-13 22:31:03 -07:00
dependabot[bot] 4ff7278988
Bump actions/setup-dotnet from 1 to 2 (#3176)
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 1 to 2.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](https://github.com/actions/setup-dotnet/compare/v1...v2)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Reiley Yang <reyang@microsoft.com>
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-04-13 19:38:17 -07:00
dependabot[bot] 3deeda8db5
Bump actions/upload-artifact from 2 to 3 (#3175)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-04-13 19:22:23 -07:00
dependabot[bot] 81c427a839
Bump codecov/codecov-action from 1.0.12 to 3.0.0 (#3174)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1.0.12 to 3.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.12...v3.0.0)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-04-13 19:05:00 -07:00
dependabot[bot] f79df4d2e5
Bump actions/checkout from 2 to 3 (#3173)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-04-13 18:23:27 -07:00
dependabot[bot] 2f5a05e5f1
Bump actions/stale from 4 to 5 (#3172)
Bumps [actions/stale](https://github.com/actions/stale) from 4 to 5.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-13 17:57:58 -07:00
Reiley Yang e0212a11bf
GitHub action update bot (#3170)
* GitHub action update bot

* change tag
2022-04-13 17:20:25 -07:00
Cijo Thomas cd72a39d99
minor doc fix (#3168)
* minor doc fix

* alpha sort
2022-04-13 13:46:06 -07:00
Mikel Blanchard 26c3e0c23c
Prometheus: Expand UseOpenTelemetryPrometheusScrapingEndpoint extension (#3029) 2022-04-13 13:37:11 -07:00
Timothy Mothra f3b7b80173
Log customization doc: IncludeFormattedMessage (#3158) 2022-04-13 11:30:12 -07:00
Cijo Thomas f469e68d06
Fix typo in changelog (#3164) 2022-04-12 20:12:00 -07:00
Cijo Thomas 33125ac3bc
Changelog update for 120-rc5 (#3163) 2022-04-12 19:50:15 -07:00
Alan West abdbb61da0
s/monotnic/monotonic (#3162) 2022-04-12 19:06:52 -07:00
Alan West 40b779cea6
Update OpenTelemetry protos to v0.16.0 (#3160)
* Update proto files to v0.16.0

* Replace InstrumentationLibrary with InstrumentationScope

* Add TODO

* Update changelog

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-04-12 17:45:32 -07:00
Cijo Thomas ef92479506
Remove TryFindExporter from MeterProvider public API (#3161) 2022-04-12 17:03:31 -07:00
Cijo Thomas c4abf0b330
Minor metric fixes (#3159) 2022-04-12 14:45:11 -07:00
Michael Maxwell c261a67005
Control `MemoryDiagnoser` benchmark option via CLI instead of code (#3085) 2022-04-12 13:42:33 -07:00
Alan West 89a740e20a
MetricReader TemporalityPreference (#3153) 2022-04-12 13:00:04 -07:00
Alan West 3bf869ab38
Remove Flags attribute from AggregationTemporality (#3157)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-04-12 12:28:51 -07:00
Alan West 879d3c91a0
Always generate a new metric stream for each view an instrument matches (#3148) 2022-04-12 12:05:34 -07:00
Timothy Mothra 4cabb23f09
Log customization doc: IncludeScopes (#3155) 2022-04-12 11:21:03 -07:00
Timothy Mothra 9da4ff798a
new tests: LoggerApi gets Resource with correct values (testing ResourceBuilder) (#3063) 2022-04-11 10:55:20 -07:00
Piotr Kiełkowicz c2ab8d4d8a
Replace TestExporter by InMemoryExporter in MetricAPITest (#3150) 2022-04-08 06:56:06 -07:00
Cijo Thomas 9d843e6ce3
document new Activity.SetStatus API (#3144) 2022-04-07 07:10:02 -07:00
Alan West 23609730dd
Fix bug with multiple views mapping to a single metric stream (#3006)
* Add test demonstrating bug with multiple views selecting one instrument

* Prevent duplicate metric point updates

* Fix formatting

* Update changelog

* No ranges

* Add comment

* Unused using

* Expand instrument registration to consider tags from view

* Fix logic and copy tag keys array

* Fix null check

* Fix formatting

* Include histogram bounds in metric stream identity

* Rename InstrumentIdentity -> MetricStreamIdentity

* Rename instrumentIdentity

* Another test. Two views. Same tags.

* Remove readonly modifier

* Fix hash computation

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-04-06 15:30:24 -07:00
Travis Illig d294140a33
Add VS Code recommended spell check extension (#3127) 2022-04-06 08:35:38 -07:00
Cijo Thomas 4e2437cfcd
Modify metric example to use console exporter defaults (#3143) 2022-04-06 07:49:25 -07:00
Paulo Janotti 950c6162b4
Improvements to the OTLP trace example (#3141) 2022-04-05 22:29:11 -07:00
Cijo Thomas 4384c3ceef
Logging doc to link to ASP.NET Core logging (#3137) 2022-04-05 13:12:05 -07:00
Reiley Yang 62bb66a7db
Revert the unwanted change in examples (#3138)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-04-05 07:30:21 -07:00
Paulo Janotti 398d469190
Fix default URL for OTLP Trace/Metrics for http/protobuf (#3098) 2022-04-04 21:42:56 -07:00
Carter Socha 6b0883eb22
update metrics getting started to have snippets (#3136) 2022-04-04 16:42:50 -07:00
Timothy Mothra df76ca5d88
additional comments on filtering doc (#3135) 2022-04-01 16:54:04 -07:00
Timothy Mothra d3c0c6ed61
alternate workflow for "dotnet-format" to accommodate documentation-only PRs (#3133) 2022-04-01 14:14:54 -07:00
Timothy Mothra bab31807ed
alternate workflow for "integration" to accommodate documentation-only PRs (#3132) 2022-04-01 11:51:25 -07:00
Timothy Mothra bdbbda8371
alternate workflow for "linux-ci" to accommodate documentation-only PRs (#3128) 2022-04-01 10:31:26 -07:00
Travis Illig 7ed97be908
Fix analyzers (#3053) 2022-04-01 07:46:32 -07:00
Alan West 6c655698fe
Do not apply ExplicitBucketHistogramConfiguration to non-histograms (#3126) 2022-03-31 16:46:10 -07:00
Timothy Mothra 3e522b7e7e
Logs customization doc: add processor (#3042) 2022-03-31 14:04:59 -07:00
Timothy Mothra ac2a4f4ebb
add Copy methods to MetricPoint and HistogramBuckets to facilitate deep-copying (#3113) 2022-03-31 12:40:02 -07:00
Timothy Mothra 25ba21375f
Update extending-the-sdk Readme to call out that the exporter can not make any assumptions about the Metric batch (#3071) 2022-03-31 12:14:24 -07:00
Mikel Blanchard 213fc03553
Metrics: Improve perf by moving timestamps off of MetricPoint (#3082) 2022-03-31 11:55:14 -07:00
Cijo Thomas 3e655695e5
Bad View result in ignoring the View but not the instrument itself (#3120) 2022-03-31 10:51:05 -07:00
Cijo Thomas c78769cbea
Improve log message for unsupported Instrument (#3124) 2022-03-31 10:11:25 -07:00
Timothy Mothra 1241c99f2c
alternate workflow for "windows-ci" to accomodate documentation-only PRs. (#3116) 2022-03-31 09:23:16 -07:00
Cijo Thomas 459fef9b96
Replace Mock with InMemoryExporter part2 (#3123) 2022-03-31 09:01:18 -07:00
Cijo Thomas 81d28a58e2
Replace Mock with InMemoryExporter (#3122) 2022-03-31 08:23:03 -07:00
Cijo Thomas 472cbf8bc8
Improve View error messaging (#3119) 2022-03-30 19:15:36 -07:00
Mikel Blanchard f4406b1bbb
Metric Views: MetricStreamConfiguration API improvements (Version 2) (#3117) 2022-03-30 18:11:26 -07:00
Cijo Thomas ae4cbceaf1
Update getting started with logs (#3115) 2022-03-30 17:08:57 -07:00
Cijo Thomas e8ccab063b
Exception reporting doc to use newly added Activity.SetStatus (#3114)
* Add SetStatus to getting started

* Use new Activity Status method for exception reporting docs
2022-03-30 15:33:00 -07:00
Cijo Thomas a25f2861c2
Add SetStatus to getting started (#3111) 2022-03-30 14:04:22 -07:00
Cijo Thomas bbaffca3c1
Minor tweak to getting started tracing doc (#3110) 2022-03-30 13:21:25 -07:00
Carter Socha dbdcf4956e
add code samples & sample flag to traces getting started guide (#3099) 2022-03-30 12:44:09 -07:00
Cijo Thomas eaa2e0ecbd
Update changelog for release (#3108) 2022-03-30 11:24:00 -07:00
Yun-Ting Lin b3f64d73e6
changelog update (#3104)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-03-29 19:55:47 -07:00
Timothy Mothra eefffa965c
OpenTelemetryLoggerProvider is now unaffected by changes to OpenTelemetryLoggerOptions after the LoggerFactory is built. (#3055) 2022-03-29 19:14:33 -07:00
Yun-Ting Lin add7eee59c
[Part3] Support Activity Status and status description in OTLP Exporter. (#3100) 2022-03-29 15:53:32 -07:00
Mikel Blanchard bea9b608d5
OTLP Exporter: Integration test improvements (#3094) 2022-03-29 15:13:50 -07:00
Cijo Thomas a63aa974cb
OTLP TraceExporter to not populate deprecated fields (#3103) 2022-03-29 14:09:50 -07:00
Reiley Yang 7d34791474
Fix typo (#3102) 2022-03-29 10:16:11 -07:00
Mikel Blanchard bf79f0d40d
Update preprocessor directives ahead of System.Diagnostics.DiagnosticSource .NET 7 update. (#3095) 2022-03-28 07:20:22 -07:00
Mikel Blanchard de4441124e
Add integration test for OtlpMetricExporter. (#3092)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-03-25 08:41:29 -07:00
Cijo Thomas b255183e82
Document about Status migration (#3091) 2022-03-24 14:12:35 -07:00
Cijo Thomas 707cea3c18
Minor doc improvement to reflect spec recommendation (#3090) 2022-03-24 12:11:18 -07:00
Cijo Thomas 3e8074576d
Minor additions to Extending Metric SDK docs (#3089) 2022-03-24 12:01:50 -07:00
Yun-Ting Lin a4a4d7ffa8
initial (#3084)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-03-24 10:52:01 -07:00
Cijo Thomas 407ff7bff2
Improve internal log message about exporter to include reader information (#3080) 2022-03-24 07:54:00 -07:00
Yun-Ting Lin 1962073db1
[Part2] Support Activity Status and status description in Jaeger Exporter. (#3073) 2022-03-24 06:53:37 -07:00
Cijo Thomas f531391067
Use 10 sec export interval for console (#3081) 2022-03-23 17:05:00 -07:00
Yun-Ting Lin 96b043e35f
[Part1] Support Activity Status and status description in Zipkin Exporter. (#3003) 2022-03-22 12:39:36 -07:00
Mikel Blanchard bdcf942825
Metrics: Avoid defensive copies of MetricPoint struct (#3065) 2022-03-18 07:19:37 -07:00
Alan West 45964ca90b
Do not allow changes to OTLP exporter configuration after instantiation (#3066) 2022-03-17 20:54:21 -07:00
Yun-Ting Lin ea5d11d392
Addressing a comment in support Activity Status and Description in Console Exporter. (#3064) 2022-03-17 16:04:35 -07:00
Yun-Ting Lin a1e716716c
[Part0] Support Activity Status and status description in Console Exporter. (#3061) 2022-03-17 13:29:16 -07:00
Timothy Mothra b6169aae9b
Logs customization doc: SetResourceBuilder (#3043) 2022-03-17 10:00:09 -07:00
Travis Illig d1c34ab235
AddHttpClientInstrumentation uses Options<T>. (#3051) 2022-03-15 14:39:14 -07:00
Timothy Mothra 4d6c05cb6b
Logs customization doc: filtering (#3034) 2022-03-15 12:33:59 -07:00
Cijo Thomas 1c35335fd5
Add status support to Console ActivityExporter (#3052) 2022-03-15 12:25:36 -07:00
Piotr Kiełkowicz dff9adeaf8
Documentation - allow long lines for tables and code blocks (#3049) 2022-03-15 11:36:19 -07:00
Alan West a709cfd2a9
Clean up metric reader options (#3038) 2022-03-15 07:20:09 -07:00
Tyler Helmuth bab645fe3d
Added changelog for grpc bump (#3041) 2022-03-14 12:09:38 -07:00
Cijo Thomas 0254d34922
Fix conditional compilation in aspnetcore instrumentation (#3025) 2022-03-14 07:41:27 -07:00
Cijo Thomas 191df6298a
Add Prometheus Exporter to ASPNET Example (#3037) 2022-03-12 12:54:33 -08:00
Alan West c5bfff8759
Fix ability to run unit tests from VSCode (#3036)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-03-12 06:51:10 -08:00
Vishwesh Bankwar 98a4c99350
Add aspnet metric example (#3033) 2022-03-12 06:37:03 -08:00
Travis Illig 3af5a3b0b4
Fix analyzer issues in docs (#3026) 2022-03-11 18:04:34 -08:00
Timothy Mothra 36d5319488
Logs customization doc: skeleton (#3030) 2022-03-11 17:40:17 -08:00
Mikel Blanchard a4dffdc5f3
Update company in README. (#3032)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-03-11 17:07:12 -08:00
Alan West 8ca6574599
Default to periodic metric reader for push based exporters (#2982) 2022-03-11 13:43:59 -08:00
Cijo Thomas 00af7817fd
Add net6.0 target to grpc instrumentation tests (#3013) 2022-03-11 09:01:04 -08:00
Travis Illig f6b627134b
Fix IDE0017: Use object initializers (#3022) 2022-03-11 07:43:21 -08:00
Cijo Thomas 5f509bfea9
Add back aspnetcore instrumentation in example (#3021) 2022-03-11 06:52:22 -08:00
Travis Illig d55de344f1
Fix IDE0090: 'using' statement can be simplified. (#3017) 2022-03-10 21:32:41 -08:00
Travis Illig 58f13ba7e2
Fix IDE0071: Interpolation can be simplified. (#3015) 2022-03-10 14:12:58 -08:00
Xavier 52258f12e3
Asp6sample (#2989) 2022-03-10 12:33:12 -08:00
Cijo Thomas 97f21802a3
Modify example asp.net core app to config prometheus options (#2988) 2022-03-10 10:52:25 -08:00
Cijo Thomas 0a84e11272
Dotnet instead of Dotnet Core in docs (#3004) 2022-03-10 10:10:07 -08:00
Cijo Thomas 7d9e34a067
Use the minimum version of dotnet in global json (#3005) 2022-03-10 09:43:39 -08:00
Travis Illig 2a97920ff0
Fix IDE0090: 'new' expression can be simplified. (#3012)
* Set rule for new() usage.

* Fix IDE0090 "'new' expression can be simplified"
2022-03-10 08:57:53 -08:00
Travis Illig 7b19794de3
Fix IDE0001: Name can be simplified. (#3011) 2022-03-10 07:39:27 -08:00
Travis Illig 899be1f695
Organized .edtiorconfig based on dotnet/runtime. (#3002) 2022-03-09 21:17:32 -08:00
Cijo Thomas 055b564a75
Add links to dotnet runtime repo in docs (#3000) 2022-03-09 20:56:05 -08:00
Travis Illig 5255917581
Improve VS Code and cross-platform dev experience (#2997) 2022-03-09 09:35:30 -08:00
Yun-Ting Lin 1a186e86d8
Prometheus doc improvement (#2950) 2022-03-09 08:58:13 -08:00
Stefan af6a5d2561
Improve GetUri (#2947) 2022-03-09 08:46:49 -08:00
Cijo Thomas 8b8b9348aa
Add example of using Baggage (#2990) 2022-03-08 21:19:33 -08:00
Vishwesh Bankwar efeaac91d0
Add AspNet metrics instrumentation (#2985) 2022-03-08 21:01:30 -08:00
Utkarsh Umesan Pillai 5bb9f26100
Refactor AspNetCore Metrics instrumentation (#2998) 2022-03-08 20:23:27 -08:00
Jan Trejbal 98cb28974a
Drop Microsoft.AspNetCore.Http.Features from net5 & net6 (#2860) 2022-03-08 08:08:02 -08:00
Tyler Helmuth 2c405ffafe
Bumped grpc and protobuf packages (#2963)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-03-07 20:47:48 -08:00
Utkarsh Umesan Pillai abea4b60f6
Minor refactoring (#2987)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-03-07 20:29:17 -08:00
Utkarsh Umesan Pillai 6973a539d3
Add SpinWait for double counter updates (#2960)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-03-07 18:17:56 -08:00
Reiley Yang 83c767148a
add a simple Mermaid diagram for the metrics tutorial (#2984)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-03-07 17:26:21 -08:00
Utkarsh Umesan Pillai 31475a52db
Add diagnostic logs for metrics (#2972) 2022-03-07 17:00:01 -08:00
Cijo Thomas bac9263fa6
Prometheus example fixes (#2983) 2022-03-07 15:58:14 -08:00
Cijo Thomas bace2ce5d1
Make console examples for metrics simpler (#2981) 2022-03-07 13:35:36 -08:00
Cijo Thomas 6e31ab66d2
Update change logs for 1.2.0 rc3 release (#2976) 2022-03-04 17:29:06 -08:00
Cijo Thomas c1d49df6b9
MeterProvider doc improvement and minor link fixes (#2975)
* MeterProvider doc improvement and minor link fixes

* commas
2022-03-04 17:20:28 -08:00
Alan West ffffe5cc5a
Allow duplicate instrument registration (#2916) 2022-03-04 17:16:14 -08:00
Cijo Thomas 62217ce2df
Add TracerProvider section in getting started. (#2973) 2022-03-04 16:27:38 -08:00
Utkarsh Umesan Pillai af0c9b41da
Lock-free updates for HistogramSumCount (#2961) 2022-03-03 18:14:28 -08:00
Vishwesh Bankwar cee90062f9
Revert .net6.0 explicit installs (#2913) 2022-03-03 12:47:07 -08:00
Yun-Ting Lin 778052f67f
Cleaned up changelog and added resource spec link. (#2966) 2022-03-02 20:01:27 -08:00
Yun-Ting Lin b538b9b9d4
Publicize required methods to allow for custom implementations of resource detectors. (#2949) 2022-03-02 18:05:57 -08:00
Michael Maxwell 1afbb7ca56
Appending "=" to "Service.Name" in Console.MetricExporter (#2964) 2022-03-02 15:10:38 -08:00
Utkarsh Umesan Pillai ff20a89a37
Update Histogram benchmarks (#2944) 2022-03-01 21:31:25 -08:00
Utkarsh Umesan Pillai d7a41f087f
Add stress tests for Histogram (#2945) 2022-03-01 20:42:47 -08:00
Cijo Thomas fc10fb399f
Minor improvement to troubleshooting section (#2956) 2022-03-01 20:26:31 -08:00
Utkarsh Umesan Pillai e7b0257605
Lock-free updates for Histogram (#2951) 2022-03-01 20:23:21 -08:00
Cijo Thomas b6dcfe8e09
Example app to enable httpclient metrics instrumentation (#2955) 2022-03-01 11:21:40 -08:00
Utkarsh Umesan Pillai 69817953f1
Update Metrics Benchmarks (#2943) 2022-02-25 10:40:26 -08:00
Abraham Heidebrecht 13e721d8fb
Allow the jaeger exporter path to be configured (#2847) 2022-02-24 14:52:15 -08:00
Cijo Thomas f2fcb53214
Modify issue templates to point to discussions (#2942) 2022-02-24 12:52:43 -08:00
Cijo Thomas 1dec9bd58d
Add comments and fix few todos in Metrics (#2939) 2022-02-24 11:55:26 -08:00
Cijo Thomas f8a1f3caa4
Slight improvements to multi reader metric tests (#2936) 2022-02-23 16:43:52 -08:00
Cijo Thomas 68bca535e2
Zipkin Exporter fixes (#2935) 2022-02-23 13:26:59 -08:00
Cijo Thomas 72ade32176
OTLP LogExporter modified to not drop whole batch if a single log is invalid (#2934) 2022-02-23 11:24:47 -08:00
Alan West cbc5172d24
MetricReaderOptions for AddInMemoryExporter extension methods (#2931) 2022-02-23 09:56:00 -08:00
Alan West 644ba5bc14
Remove metric related options from ConsoleExporterOptions (#2929) 2022-02-23 09:19:45 -08:00
Eddy Nakamura 843d6fd135
Removing codecov status in PRs (#2930) 2022-02-22 20:41:04 -08:00
Reiley Yang 5497434060
Minor clean up (#2927)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-02-22 17:08:04 -08:00
Cijo Thomas 69e08c0b62
Minor tweak to contrib docs (#2920) 2022-02-22 16:27:17 -08:00
Gabriel Lucaci 71c22ac6a5
Otlp include batch transformation into try/catch scope (#2915)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-02-22 15:49:13 -08:00
Piotr Kiełkowicz 4b3ee96ffc
Update OTEL_EXPORTER_JAEGER_PROTOCOL parsing (#2914)
* typo fixes for messages while parsing ev vars

* extend env variable names tests

* auto cleanup test

* typo fix for internal variable

* verify default value for jeager exporter protocol

* align env vars for jeager exporter protocol with specification

* code review fix - better documentation

* disable MD013 for table

* extend test for OTEL_EXPORTER_JAEGER_ENDPOINT

* code review - nit fix

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2022-02-22 09:50:46 -08:00
Alan West f234829964
OTLP exporter options separate out MetricReader options (#2717)
* Separate out OtlpMetricReaderOptions from OtlpExporterOptions

* Collapse config delegates into one

* Rename AggregationTemporality to Temporatlity

* Update public API

* Change parameter names

* Move MetricReaderOptions to SDK

* Default OTLP metric exporter to use a periodic metric reader and cumulative temporality

* Update example to configure exporter options

* Update public API

* Everyone loves a good stackoverflow

* Update public API

* Fix bad merge

* Change namespace

* Fix the public API

* I ❤️ trying to get the public API correct without Visual Studio

* Remove check for unspecified temporality

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-02-18 12:02:14 -08:00
Vishwesh Bankwar 4f40d740e8
Fix console log exporter extension method summary (#2912) 2022-02-18 10:49:51 -08:00
Amir 41745a2b63
code style compatible with dotnet new version (#2880) 2022-02-18 10:04:04 -08:00
Yun-Ting Lin 4d2b894b36
initial commit (#2911) 2022-02-17 12:44:11 -08:00
Yun-Ting Lin d7d570298e
Consolidating OTLPExporter unit tests. (#2891) 2022-02-17 11:15:27 -08:00
Reiley Yang c1257c0ffb
Remove unused stuff in PrometheusExporter (#2908) 2022-02-17 07:16:34 -08:00
Einar Norðfjörð af44186f37
fix: http 400 status is not error on server (#2904) 2022-02-16 12:52:54 -08:00
Alan West a2c1b6e69e
Invoke SDK initialization when using OpenTelemetry.Extensions.Hosting (#2901) 2022-02-16 06:48:45 -08:00
Cijo Thomas 360957dc44
Minor test namespace adjustment (#2903) 2022-02-15 19:09:40 -08:00
Michael Maxwell d7afc1bcb0
Simplify how to call `Guard` methods (#2894)
* try adding CallerArgumentExpression - errors

* remove nameof for null guard only available in net3+

* if null or empty

* if null or whitespace

* rest

Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2022-02-15 17:54:02 -08:00
Piotr Kiełkowicz 73b99b64b0
Fix the default endpoint for OTLP exporter when using http/protobuf protocol (#2868) 2022-02-15 15:13:56 -08:00
Yun-Ting Lin 84821ff9bc
Make IResourceDetector public to allow custom implementations of resource detectors. (#2897)
* initial commit

* changelog

Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2022-02-14 21:17:36 -08:00
Reiley Yang 9232e569b1
Add stress test for strong-typed logging (#2892)
* Add stress test for strong-typed logging

* simplify proj

* ...

* eol

* ref type

* tweak

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-02-14 20:59:40 -08:00
Cijo Thomas 8dc2d4afa3
Minor addition to MetricView tests (#2893) 2022-02-11 15:16:31 -08:00
Cijo Thomas 6ca4c13a18
Minor improvement to console trace exporter output (#2890) 2022-02-11 11:12:35 -08:00
Reiley Yang 1b5765bf43
Support question mark in wildcard (#2875) 2022-02-10 12:15:11 -08:00
Cijo Thomas 782626920a
Fix tests to avoid external dependency (#2884) 2022-02-10 12:03:46 -08:00
Alan West b1d57e9b0e
Add failing test for StartRootSpan (#2878) 2022-02-09 14:26:27 -08:00
Cijo Thomas 7ce2e4ca23
OTLPLogExporter bug fix to handle null EventName (#2871) 2022-02-07 12:10:38 -08:00
Cijo Thomas 563236b51d
Add links to self-diagnostics from all components (#2859) 2022-02-04 05:54:32 -08:00
Cijo Thomas 818d8c9cd7
Add links to Self diagnostics from all components readme. (#2856) 2022-02-03 20:15:12 -08:00
Xavier a0618e5dca
Update readme.md (#2858) 2022-02-03 20:11:38 -08:00
Michael Maxwell fe7b917365
Histogram Record Method Benchmark (#2754) 2022-02-03 16:06:06 -08:00
Reiley Yang 3de96a1c16
Minor docs tweak (#2852) 2022-02-02 21:39:05 -08:00
Alan West aca7efc0f4
Lifetime guidance for MeterProvider and TracerProvider (#2850)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-02-02 20:50:21 -08:00
Cijo Thomas d3afacc293
CHANGELOG.md Files Update - 1.0.0-rc9 (#2851) 2022-02-02 17:40:09 -08:00
Reiley Yang f933b67e02
Update emeritus following the community guideline (#2837) 2022-02-02 17:19:06 -08:00
Cijo Thomas 5a9d564405
ConsoleExporter to print Activity(Span) Links (#2849) 2022-02-02 15:58:39 -08:00
Cijo Thomas 3833a4f503
Attempt to reduce provider lifetime issues (#2848) 2022-02-02 13:57:53 -08:00
Utkarsh Umesan Pillai c1c5436023
Metric AggregatorStore optimizations for sorting tags (#2805) 2022-02-02 12:45:03 -08:00
Alan West 840b24e85f
Remove interfaces used for creating mock gRPC clients (#2831)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-02-02 12:11:49 -08:00
Reiley Yang 1b8599b115
Swallow ObjectDisposedException (#2844) 2022-02-02 06:45:16 -08:00
Cijo Thomas 102ac27ce7
MetricReader minor fixes and API reduction (#2841) 2022-02-01 14:54:42 -08:00
Cijo Thomas 89aa673765
Add How to write MetricExporter (#2842) 2022-02-01 14:29:48 -08:00
Cijo Thomas f9ccd33e18
Minor fix to an existing Promtheus UnitTest (#2835) 2022-01-31 12:17:37 -08:00
Cijo Thomas d421cf0306
Minor improvement to observable counter test (#2832) 2022-01-29 17:56:58 -08:00
Cijo Thomas b6d45ccb46
Minor improvement to duplicate instrument test (#2833) 2022-01-29 17:20:11 -08:00
Reiley Yang 874285194b
Minor tweak on the Prometheus tutorial doc (#2829) 2022-01-28 17:08:15 -08:00
Cijo Thomas fbf4f5df61
Add unit test to validate Metric name description (#2828) 2022-01-28 12:57:30 -08:00
Reiley Yang 00a480fa17
Minor tweak on the Prometheus docs (#2825) 2022-01-28 12:22:07 -08:00
Cijo Thomas b3b682a0e4
Add test to cover spatial aggregation bug (#2823) 2022-01-28 11:47:41 -08:00
Timothy Mothra a4efcbdc31
Stale (#2826) 2022-01-28 11:06:32 -08:00
Yun-Ting Lin 0ecb317b74
initial commit (#2818)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-01-27 09:43:50 -08:00
Michael Maxwell 247c033b3b
Jaeger Span Duration - Microsecond Level Precision (#2814) 2022-01-27 08:16:09 -08:00
Timothy Mothra 8d8d464d17
update stale workflow (#2819) 2022-01-27 08:00:19 -08:00
Timothy Mothra 2731d2ffa0
update release instructions with reminder to finalize PublicApi (#2817) 2022-01-26 15:11:18 -08:00
Timothy Mothra d56f925a73
fix skipped Test: TraceProviderSdkTest.TracerProviderSdkInvokesSamplingWithCorrectParameters (#2809) 2022-01-25 18:17:18 -08:00
Cijo Thomas 2eb46a8de2
Fix Metric console exporter to respect Console and Debug flags (#2815) 2022-01-25 17:33:34 -08:00
xiang17 dae889d87b
Update Self-Diagnostics troubleshooting readme (#2810) 2022-01-25 15:09:19 -08:00
Yun-Ting Lin a4ef4ee938
Update default host and port for PrometheusExporter to align with the OTel spec. (#2783) 2022-01-25 14:55:02 -08:00
Cijo Thomas 1150f4a4e4
Solution cleanups (#2813) 2022-01-25 10:18:50 -08:00
Yun-Ting Lin f55bd76817
Metrics: quick start docs for Prometheus/Grafana (#2795) 2022-01-24 15:00:54 -08:00
Timothy Mothra 9b27d70c8e
stale automation (#2769) 2022-01-24 14:39:05 -08:00
Cijo Thomas aad309b944
Log EventId and Name separately in Console and OTLP Exporter (#2802) 2022-01-20 09:09:24 -08:00
Cijo Thomas 2aa816314c
Modify aspnetcore example to allow otlp log exporter (#2801) 2022-01-20 07:44:03 -08:00
Cijo Thomas 90146f84f2
Updated logging benchmarks to include source generation (#2800) 2022-01-19 13:42:57 -08:00
Cijo Thomas 110b5c267f
fix package versions in benchmarks (#2799) 2022-01-19 11:33:37 -08:00
Cijo Thomas 5587855a53
Add new docs project to solution (#2798) 2022-01-19 09:45:49 -08:00
Utkarsh Umesan Pillai d4cf69301d
Add unit test to check that metric dimensions are order insensitive (#2788) 2022-01-18 16:27:10 -08:00
Reiley Yang fcb6b40bfa
Add an example for LoggerMessageAttribute (#2792) 2022-01-18 14:39:46 -08:00
Cijo Thomas 8138e5ebc5
Fail-fast when using AddView with guaranteed conflict (#2785) 2022-01-13 16:50:20 -08:00
Yun-Ting Lin 26ac74d658
Added sanity check for the setter of PrometheusExporter's HTTP listeners. (#2771) 2022-01-13 07:40:25 -08:00
Michael Maxwell 18d73c59f0
Make Guard method names more explicit (#2762)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2022-01-12 08:02:13 -08:00
Michael Maxwell fc35311e6d
Event logging type in format string (#2779) 2022-01-12 07:33:04 -08:00
Mikel Blanchard cf3b119edd
Metrics: MetricPointValueStorage explicit layout struct part2 (#2718) 2022-01-11 17:59:27 -08:00
Kia Panahi Rad 4bf8ed40aa
refactor Resource::SanitizeValue method to be more readable (#2761) 2022-01-10 19:26:58 -08:00
Aaron Stannard 66ad39d422
added `ParentId` to `TelemetrySpan` (#2740) 2022-01-10 11:55:31 -08:00
Michael Maxwell 1ff1155852
Metrics Multithreaded Tests - Histogram (#2367) 2022-01-10 11:33:57 -08:00
ndrwrbgs 8c1c1495d9
Convert StateValues (when present) to Attributes. (#2554) 2022-01-07 09:35:06 -08:00
Yun-Ting Lin 74b01fdf80
fix typo (#2770) 2022-01-06 17:40:48 -08:00
Utkarsh Umesan Pillai 392f2a323a
Update CHANGELOG for MetricPoint changes (#2768) 2022-01-06 09:57:17 -08:00
Tom Kerkhove 1191a2a3da
feat: Fail fast when insecure channel is not configured for .NET Core 3.1 with gRPC (#2691)
* feat: Fail fast when unsecure channel is not configured for .NET Core 3.1

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Update changelog

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* NotSupportedException -> InvalidOperationException

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Code quality

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Use static class, instead of base class

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Revert change

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Add missing file header

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Change build directive

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Code linting

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Remove redundant check

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Update changelog

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Fix build errors after rebase

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Use previous build directives

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Update changelog with latest RC

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Check for version, instead of build directive

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Align tests

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Change error message

Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>

* Change comment

Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>

* Change test name

Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>

* Change test name

Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>

* fix: Build integration test image with SDK of specified .NET version

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* revert: Build in 6.0 due to language version

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Use version check instead of build directive

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Fix formatting

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Fix check on version

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Remove flaky test

* Incorporate @pellared's feedback

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Change code style

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Code review remarks

Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com>

* Update changelog

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>

* Update changelog

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>

Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-12-16 16:57:05 -08:00
Mikel Blanchard fd2aa0b263
Code review feedback. (#2749)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-12-14 13:13:07 -08:00
Utkarsh Umesan Pillai 87f66d3845
Remove unnecessary using statements (#2727) 2021-12-14 12:56:18 -08:00
Mikel Blanchard c470e3761a
Tweaked the Zipkin README documentation for MaxPayloadSizeInBytes. (#2748)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-12-14 11:55:18 -08:00
Mikel Blanchard 1feb2defbd
Fix the PR link in the http instrumentation changelog. (#2750) 2021-12-14 10:46:35 -08:00
Utkarsh Umesan Pillai 33f3596b4b
Make MetricPoint access from MetricPointAccessor readonly (#2736) 2021-12-14 07:48:57 -08:00
Michael Maxwell 1e45e092cb
Update CONTRIBUTING.md with Visual Studio 2022 (#2745)
https://github.com/open-telemetry/opentelemetry-dotnet/issues/2729#issuecomment-988139167
2021-12-13 11:19:10 -08:00
Michael Maxwell 83fa9fde68
General code improvements (#2744) 2021-12-13 09:42:28 -08:00
Michael Maxwell f3eaf4a6f9
Use HashSet constructor (#2742) 2021-12-13 06:48:42 -08:00
Utkarsh Umesan Pillai 5d9083b973
Update docs for Metrics (#2726) 2021-12-07 09:39:03 -08:00
Mikel Blanchard fd223474ec
Http Instrumentation: Fix gRPC causing issues retrieving request & response objects (#2698)
* Chain PropertyFetchers to support DiagnosticListener-based instrumentation being sent different payloads.

* CHANGELOG update.

* Unit test.
2021-12-02 10:28:15 -08:00
ktmitton 76d944130f
Reworded documentation based on recommendation from another PR (#2689)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-11-30 14:34:01 -08:00
Cijo Thomas c573a8f42b
Minor metric doc fixes (#2715) 2021-11-30 14:25:29 -08:00
Cijo Thomas 7fff1cb44a
More error logging in Metric SDK (#2714) 2021-11-30 12:42:46 -08:00
Cijo Thomas 0f64c9a72b
More Metrics internal logging (#2712) 2021-11-30 08:27:04 -08:00
Cijo Thomas 08cb1cda29
Cleanup unused events in internal EventSource (#2711) 2021-11-30 07:44:11 -08:00
Cijo Thomas 9e135dd7c6
Add logs when exception occurs in critical paths (#2710) 2021-11-30 07:20:57 -08:00
Cijo Thomas dfcaea3c7f
Changelog update in preparation for 1.2.0-rc1 (#2708) 2021-11-29 20:51:54 -08:00
Cijo Thomas 1cb9da5e41
MetricPoint start and end time as Properties (#2703) 2021-11-29 20:41:27 -08:00
Utkarsh Umesan Pillai a828aa71cb
Revert "Allow future addition of Histogram MinMax via View (#2705)" (#2706)
This reverts commit 0c2552ebf6.
2021-11-29 17:28:33 -08:00
Robert Pająk f5b0ea3826
Add HTTP protocol test case to OTLP exporter integration tests (#2692) 2021-11-29 16:02:22 -08:00
Mikel Blanchard 2c9501fcd5
OtlpExporter: HttpClientFactory option (#2696) 2021-11-29 15:34:27 -08:00
Vishwesh Bankwar 381e0b8713
Update TraceProviderSdkTest for legacy activities (#2704) 2021-11-29 15:21:07 -08:00
Cijo Thomas 0c2552ebf6
Allow future addition of Histogram MinMax via View (#2705) 2021-11-29 14:40:59 -08:00
Cijo Thomas a5ab670e0b
Rename GetCounterSum to GetSum (#2702) 2021-11-29 11:47:22 -08:00
Tom Kerkhove 5f5238dd7b
feat: Include endpoint URI in connection failure events (#2686) 2021-11-29 09:54:11 -08:00
Cijo Thomas f153cb1000
MetricType modification to allow future additions to histogram (#2693) 2021-11-29 09:15:57 -08:00
Mikel Blanchard 284885b070
Metrics: Reduced the public api surface of the MetricPointsAccessor struct (#2695) 2021-11-28 14:17:06 -08:00
Mikel Blanchard 494af25b19
Added explicit layout struct MetricPointValueStorage to store values for MetricPoint. (#2694) 2021-11-28 11:50:51 -08:00
ktmitton 580a2a5cc0
Removed explicit setting of default guest user (#2682)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-11-26 12:15:36 -08:00
Tom Kerkhove 3fea4e82fa
chore: Update reference to changelog in PR template (#2685) 2021-11-26 12:02:03 -08:00
Reiley Yang 4da595faf9
Hide MetricReader.ProcessMetrics for now (#2683) 2021-11-26 11:34:19 -08:00
Vishwesh Bankwar 71a6969c1c
Avoid accessing Id on activity start (#2659) 2021-11-24 14:25:28 -08:00
ktmitton d7ea809ef6
Updated the target frameworks for the microservice example projects to net6.0 to support the c# 10 requirement during build through the docker pipeline (#2677) 2021-11-24 14:13:45 -08:00
Utkarsh Umesan Pillai 9e83587a55
Update Metric Point for Counter and Gauge (#2667) 2021-11-24 11:46:06 -08:00
Reiley Yang f7c718eae0
Fix indentation (#2680) 2021-11-24 10:56:55 -08:00
Reiley Yang 0b023a6cd1
Update the metrics example (#2675) 2021-11-24 10:24:01 -08:00
Alan West f4915eaaa6
Add MetricReaderType to OtlpExporterOptions (#2674) 2021-11-24 09:46:41 -08:00
Alan West cabb8471a2
Expand OtlpMetricExporter tests (#2670) 2021-11-24 06:53:06 -08:00
Reiley Yang 794450b178
Clean up test cases by using consistent variable name (#2672) 2021-11-23 21:26:29 -08:00
Utkarsh Umesan Pillai e7f026e4ff
Minor optimization for HistogramBuckets enumeration (#2668) 2021-11-23 15:40:20 -08:00
Reiley Yang fb161af939
Refactor temporality to align with the spec (#2666) 2021-11-23 13:49:29 -08:00
Utkarsh Umesan Pillai 8d339bb740
Update MetricPoint HistogramMeasurements (#2664) 2021-11-23 13:00:39 -08:00
Reese Lee cb4bedaf33
Add PeriodicExporterOptions for console exporter (#2648) 2021-11-23 07:16:59 -08:00
Mikel Blanchard bc0e8afd96
ZipkinExporter: HttpClientFactory option (#2654) 2021-11-22 21:06:39 -08:00
Cijo Thomas ec67afe6db
Readme for Metric stress test (#2650) 2021-11-22 20:54:30 -08:00
Cijo Thomas f7d3227590
Rename batch metric point (#2661) 2021-11-22 20:38:02 -08:00
Cijo Thomas 25149bdb08
Remove View public API to change aggregation as it is not supported (#2660) 2021-11-22 20:21:49 -08:00
Utkarsh Umesan Pillai 69ef5f86bf
Update MetricPoint for Histograms (#2657) 2021-11-22 16:31:45 -08:00
Morgan McLean ca22838762
Removed hardcoded Zoom link (#2658) 2021-11-22 09:48:53 -08:00
Reiley Yang a7129d831e
StressTest improvements - output Loops, Loops/Second and CPU Cycles/Loop via Prometheus (#2653)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-11-21 09:16:25 -08:00
Cijo Thomas 1b9ec94efa
Fix prometheus exporter to handle histogram with no buckets (#2651)
* Fix prometheus exporter to handle histogram with no buckets

* review feedback

* bring changes after merge

* use count from the metricpoint
2021-11-21 08:00:02 -08:00
Mikel Blanchard 71f5fb00a8
Metrics: Use ReadOnlyTagCollection to encapsulate key/values on MetricPoint (#2642) 2021-11-20 13:59:22 -08:00
Reiley Yang 31a2d673da
Improve PrometheusExporter example (#2649)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-11-20 09:10:03 -08:00
Reiley Yang 81cc49c3ba
Leverage PrometheusExporter in stress test (#2640) 2021-11-20 07:18:36 -08:00
Utkarsh Umesan Pillai b16348ffe4
Update MetricView benchmarks (#2647) 2021-11-19 17:17:18 -08:00
Cijo Thomas 3a516f3357
Add doc about metric limits (#2645) 2021-11-19 15:17:13 -08:00
Cijo Thomas 05cdc2c76d
Public workflow to use .NET 6.0 (#2644) 2021-11-19 12:02:12 -08:00
Cijo Thomas 29ad13ca95
1.2.0-beta2 release - update changelogs (#2643) 2021-11-19 11:47:33 -08:00
Cijo Thomas 5dcf29f770
Allow ability to override max Metric streams and MetricPoints per stream (#2635) 2021-11-19 10:50:16 -08:00
Utkarsh Umesan Pillai ca291422ff
Add support for multiple readers (#2596) 2021-11-19 07:49:47 -08:00
Svetlana Brennan 03313e7b02
Fix metric export interval to match spec (#2641) 2021-11-18 17:34:44 -08:00
Cijo Thomas 66d2621170
Rename histogram configuration bucketbounds to boundaries (#2638) 2021-11-17 20:26:03 -08:00
Cijo Thomas 1be29c85cc
Remove unused files (#2637) 2021-11-17 19:53:03 -08:00
Vishwesh Bankwar 98d32c163f
Http client instrumentation read me typo fix (#2632) 2021-11-17 18:47:13 -08:00
Alan West 61cb92a18e
Allow duplicate metric name when meter is different (#2634) 2021-11-17 17:16:51 -08:00
Reiley Yang 9b8f6f9c9a
Fix Prometheus serialization bug (#2636)
* fix prometheus serialization bug

* nit
2021-11-17 16:14:46 -08:00
Cijo Thomas a6ead4c1db
Rename SnapShot to Snapshot (#2631) 2021-11-17 11:36:59 -08:00
chertby a68fb70aa5
test: #2534 Replace use of TestExporter with InMemoryExporter (#2630) 2021-11-17 11:18:21 -08:00
Cijo Thomas ac98506ed4
Delta exporters will Export only those points which received new update (#2629) 2021-11-17 11:04:14 -08:00
Reiley Yang 5325185d02
Prometheus exporter minor cleanup (#2625)
* Minor cleanup

* quote
2021-11-16 21:12:09 -08:00
Reiley Yang 78fda233b2
Cleanup Prometheus exporter (#2623) 2021-11-16 15:44:38 -08:00
Oleksiy Dubinin 8b3501ac84
Otlp http exporter: allow endpoint override (#2492)
* #2483: added read-only option properties for traces and metrics and adjusted them according to spec. when reading it from environment variables + allow Endpoint override

* #2483: fixed text formatting to fulfill build checks

* #2483: removed trailing spaces + try auto properties for successful build

* #2492: can't avoid traces and metrics endpoints adjustment

* #2492: introduced endpoint default constant

* #2483: changed property descriptions

* #2492: Uri instead of string as default for endpoint

* Apply suggestions from code review

- improved descriptions and README for new added properties

Co-authored-by: Joao Grassi <joao@joaograssi.com>

* #2492: initialize internal endpoint variable in constructor instead of property

* #2492: extracted from options and stored export traces uri in export client + fixed unit test

* #2492:
- got rid of traces and metrics endpoints in exporter options as it should be considered along with per-signal env. vars. and out of scope of this issue
- traces and metrics relative paths append logic is located in corresponding AddOtlpExporter methods where call scope is known

* #2492: fixed misspelling

* #2492: fixed tests

* #2492: renaming and rephrasing as suggested in review

* #2492: use helper methods for reading env vars + proper variable naming and improved comments

* #2492: review suggestions + actualized test names

Co-authored-by: Joao Grassi <joao@joaograssi.com>
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-11-16 15:27:27 -08:00
Reiley Yang 116a101732
Sanity improvements (#2614) 2021-11-16 12:26:06 -08:00
Mikel Blanchard ce31354dfb
JaegerExporter: binary thrift over http (#2574)
* WIP to support jaeger http to collector.

* Bug fixes and public api.

* Updated Thrift README + CHANGELOG. Fixed broken tests + benchmarks.

* Buffer size tweak.

* Updated README for new settings.

* Lint.

* Removed unused code.

* Debug.Assert code review.

* Code review.

* Nits.

* Cleaned up example code.

* Exclude net5.0 from api compat check.
2021-11-16 11:44:10 -08:00
Cijo Thomas 580140f847
changelog fix (#2617) 2021-11-16 10:59:58 -08:00
Mikel Blanchard ca20c80c96
Return "Last-Modified" header from scrape endpoints. (#2613) 2021-11-16 09:17:12 -08:00
Reiley Yang f09f62b026
Test improvements (#2612) 2021-11-15 18:28:58 -08:00
Mikel Blanchard e871c27316
PrometheusExporter: New concurrency handling for scrape middleware + http server (#2610)
* PoC for coordinating prometheus pull threads.

* Allocation free on .NET Core 3.1+ & locks are now tied to a specific exporter.

* Use CollectionManager in HttpServer. Remove delegate allocation.

* Bug fixes and benchmark updates.

* Configurable cache duration & bug fixes.

* Unit tests and bug fixes.

* More interesting unit test.

* Sealed PrometheusCollectionManager.

* Nits.

* CHANGELOG update.

* Doc tweaks.

* README update.

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-11-15 12:02:03 -08:00
Mikel Blanchard 770a367b39
Don't allocate a stopwatch if it isn't going to be used. (#2608)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-11-15 10:17:17 -08:00
Reiley Yang a2a8061ccf
Avoid alias for InMemoryExporter (#2609) 2021-11-15 09:49:16 -08:00
Reiley Yang 5e369a6af1
update promtheus exporter benchmark (#2607) 2021-11-14 17:00:04 -08:00
Vishwesh Bankwar 252437d1ea
enable public api check (#2597)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-11-12 18:36:40 -08:00
Alan West 436fdebb89
Update OTLP proto to v0.11.0 (#2606) 2021-11-12 14:01:27 -08:00
Reiley Yang 3fbf1d98df
Improve Prometheus example (#2601) 2021-11-12 11:29:26 -08:00
Reiley Yang df756ee50d
Upgrade stylecop to 1.2.0-beta.354 (#2602) 2021-11-12 11:20:41 -08:00
Phillip Carter 427e50a38a
Update SpanContext summary doc (#2603)
Erroneously mentioned it was a class when it's a struct.
2021-11-12 09:31:03 -08:00
Reiley Yang 4929bfd1ac
enable C# 10 (#2599) 2021-11-11 20:27:22 -08:00
yunl 4c22707a98
Update metrics benchmarks using net6.0 (#2591) 2021-11-10 16:06:28 -08:00
Cijo Thomas 9fed161c3a
Handle instrument disposal (#2585) 2021-11-10 09:43:13 -08:00
Reiley Yang bb2b743fc8
Realloc when run out of serialization buffer (#2584) 2021-11-09 21:54:22 -08:00
Reiley Yang f0311751d5
Do not export metrics description if it is empty (#2583) 2021-11-09 19:22:45 -08:00
Cijo Thomas 9ad2cfbec9
Metric description and unit to be treated as empty string when not provided (#2580) 2021-11-09 17:41:46 -08:00
Reiley Yang 5d32724792
Bump DiagnosticSource version to 6.0.0 (#2582) 2021-11-09 17:26:43 -08:00
Vishwesh Bankwar 4f697ee6c0
update rc versions to stable (#2581) 2021-11-09 17:00:44 -08:00
Reiley Yang 27b63614e3
Add unit as metric name suffix in PrometheusExporter (#2578) 2021-11-09 16:38:16 -08:00
Reiley Yang 0ed4ed64f0
consolidate/cleanup SA1000 (#2577) 2021-11-09 14:10:01 -08:00
Reiley Yang 11654f19e2
Solve PrometheusExporter race condition (step 1) (#2553)
* prom prototype

* minor refactor

* improve mem

* skeleton of the PrometheusSerializer

* a working server

* clear up test

* specialize netframework

* clean up

* update test

* fix unit test

* minor improvement

* comment

* escape metric names

* handle inf/nan

* minor name change

* nit

* more assertion

* patch for old frameworks

* add comment explaining why we use empty string if the label value is null

* Updated PrometheusExporterMiddleware for new PrometheusSerializer API.

* Added some exception handling.

* Test fix.

Co-authored-by: Mikel Blanchard <mblanchard@macrosssoftware.com>
2021-11-09 13:30:28 -08:00
Michael Maxwell 05990ae783
Throw on invalid histogram bounds (#2573) 2021-11-08 21:47:56 -08:00
Cijo Thomas 8029751d92
Metrics hotpath benchmark updates (#2571) 2021-11-08 09:54:43 -08:00
Michael Maxwell 7d6a22fe35
Unique test meter names (#2549) 2021-11-06 18:32:30 -07:00
Michael Maxwell c085504462
Replace use of TestExporter with InMemoryExporter (#2562) 2021-11-05 09:35:49 -07:00
Vishwesh Bankwar 4f930d5074
Enable .net6.0 build and add net6.0 target (#2559) 2021-11-04 08:33:35 -07:00
ndrwrbgs 02f2594a72
Remove unused new (found in disassembly in public nuget) (#2550)
* Remove unused new (found in disassembly in public nuget)

```
internal static void AddBatch(this ExportLogsServiceRequest request, Resource processResource, in Batch<OpenTelemetry.Logs.LogRecord> logRecordBatch)
{
	new Dictionary<string, InstrumentationLibraryLogs>();
	ResourceLogs resourceLogs = new ResourceLogs
	{
		Resource = processResource
	};```

* Remove now unused using

Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2021-11-02 14:25:00 -07:00
Joao Grassi 1d16b0abc7
Add validation to instrument and view name (#2470) 2021-11-02 09:59:12 -07:00
Mikel Blanchard d9b2ea416e
Batch<T> public api additions to unblock users (#2542)
* Added a public ctor to Batch<T> to unblock user scenarios.

* Bug fixes and improvements.

* Unit test.

* CHANGELOG update

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-10-29 16:44:57 -07:00
Michael Maxwell ce46d001d5
Update opentelemetry-icon-color.png (#2544)
Tool used: paint.net
2021-10-28 18:17:58 -07:00
Utkarsh Umesan Pillai ac7b8d623e
Use HashSet for MetricSreamNames (#2545)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2021-10-28 17:52:09 -07:00
Utkarsh Umesan Pillai c2f65108e9
Rename tagKey totagKeys and tagValue to tagValues (#2546) 2021-10-28 17:37:41 -07:00
Michael Maxwell 2a221722a1
Use Guard class and Debug.Assert for recent developer changes (#2540)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-10-28 10:42:38 -07:00
Reiley Yang 87601de2da
Update exporter efficiency test to cover both delta and cumulative (#2541) 2021-10-28 10:18:12 -07:00
Michael Maxwell 9f635abe46
Losslessly compress PNG logo (#2539) 2021-10-27 18:44:45 -07:00
Reiley Yang 0c93744d4b
Add a simple memory efficient test for metrics SDK (#2530) 2021-10-27 10:31:01 -07:00
Robert Pająk d026232c15
Remove unnecessary try catch for SecurityException (#2531) 2021-10-27 07:39:13 -07:00
Reiley Yang 635028834c
Add exporter ForceFlush (#2525) 2021-10-26 20:25:12 -07:00
Robert Pająk 3aab1244f8
Consolidate environment variable parsing (#2500) 2021-10-26 14:54:02 -07:00
Reiley Yang 105c068928
improve code readability (#2516) 2021-10-26 13:00:46 -07:00
Michael Maxwell 433b7c8ad1
Guard.cs - Follow-up changes (#2501) 2021-10-26 07:57:34 -07:00
Reiley Yang b1fc7616b1
Minor improvements to the Metrics SDK (#2515)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-10-26 07:42:12 -07:00
Reiley Yang 6048a66d43
improve CompositeMetricReader.Dispose (#2514) 2021-10-26 07:30:38 -07:00
Reiley Yang 6267c24978
fix nits (#2512) 2021-10-25 16:33:37 -07:00
Reiley Yang d81ad4052f
clean up code (#2509) 2021-10-25 12:58:45 -07:00
Mikel Blanchard 884b224508
Example of how to solve collection concurrency using task completion source api. (#2506)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-10-25 09:58:53 -07:00
Reiley Yang 68a1761be6
Improve Dispose (#2508) 2021-10-25 09:46:38 -07:00
Cijo Thomas dd10802e00
Add Robert as approver (#2498) 2021-10-20 09:49:26 -07:00
Cijo Thomas 3f56b94199
Update README.md 2021-10-19 17:13:23 -07:00
Cijo Thomas a970ea661e
Add Robert as approver
@pellared  has been an active contributor to the project for few months now. He is already an approver and among top contributors to the [Auto-instrumentation](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation) efforts, which recently switched to be building on top of SDK from this repo. Robert's expertise in auto-instrumentation would be a welcome addition to this team!

Contributions include not only [PRs](https://github.com/open-telemetry/opentelemetry-dotnet/pulls?q=is%3Apr+author%3Apellared), but active engagement in reviews, responding to issues/slack conversations and SIG meetings (despite odd timings!)
2021-10-19 17:12:14 -07:00
Reiley Yang 6f3f7e5766
remove duplicated src from proj file (#2493) 2021-10-18 11:22:03 -07:00
Michael Maxwell 6e6afdbc36
Identified all exception throws in code base (#2416) 2021-10-18 10:29:54 -07:00
Reiley Yang 84bdf38fe1
Simplify code (#2491) 2021-10-18 10:12:08 -07:00
Mikel Blanchard d119447e07
Write directly to output stream in OtlpHttpTraceExportClient. (#2490) 2021-10-15 18:37:00 -07:00
Ralph Bodenner f8f201863a
Mention logs as an option for OTLP exporter (#2488)
* Mention logs as an option for OTLP exporter

Logs exporter recently landed here: https://github.com/open-telemetry/opentelemetry-dotnet/pull/1964

* Mention logs support, requiring separate package

* Relative link within repo

* Create README.md

* Fix relative path and line length

* Fix relative path

* NuGet badges

Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>

* Use a file name to fix path warning

* Prereq is implicit already w/NuGet dependency

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
2021-10-14 16:56:00 -07:00
yunl c7a27dca06
Minor improvement for the case that hashset is sufficient. (#2467) 2021-10-14 13:41:53 -07:00
Mikel Blanchard 32760fd47d
Prometheus: Benchmarks + Performance Improvements (#2471)
* Added PrometheusExporterMiddleware benchmark.

* Tweak.

* Clean up nits.

* Made the benchmarks more interesting.

* Prometheus exporter performance tweaks.

* Cleanup.

* Use the pool buffer to write to so we only call stream.WriteAsync once per line.

* Code review.

* Improved version of PrometheusMetricsFormatHelper.

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-10-14 10:30:18 -07:00
Robert Pająk a3f0961b07
Update docs for batch span processor env vars (#2485) 2021-10-13 09:45:20 -07:00
Robert Pająk 11918b5674
Refine OtlpExporter docs (#2484) 2021-10-13 09:35:16 -07:00
Reiley Yang 90d2906eda
Fix PeriodicExportingMetricReader timing (#2477) 2021-10-12 16:49:58 -07:00
Cijo Thomas 6664781c76
Add OTLP LogExporter example (#2481) 2021-10-12 15:50:42 -07:00
Robert Pająk ed814d1d6d
Throw an exception when parsing an OTEL_BSP_* env var fails (#2395) 2021-10-12 09:59:19 -07:00
Utkarsh Umesan Pillai cfa01ba1b3
Update docs for views (#2475) 2021-10-11 17:02:15 -07:00
yunl 4bc68a74da
Changes around MeterProviderSdk, resolving pending comments. (#2474) 2021-10-11 15:55:07 -07:00
yunl c79ad989fd
Added wildcard support for meter sources. (#2459) 2021-10-09 10:23:16 -07:00
Cijo Thomas 63460be4e1
Changelog update to release (#2472) 2021-10-08 14:06:04 -07:00
Utkarsh Umesan Pillai 92423e2812
Update docs with more view configurations (#2469) 2021-10-08 09:56:39 -07:00
Utkarsh Umesan Pillai db8f0e7125
Rename variable name to MetricPoints (#2468) 2021-10-07 20:02:19 -07:00
Cijo Thomas c3cef63210
Error logging for Metrics (#2458)
* Error logging for Metrics

* rename Fix to action

* typo
2021-10-07 18:03:09 -07:00
Mikel Blanchard 1a9ec3d92d
Added integration test for PrometheusExporterMetricsHttpServer. (#2465)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-10-07 13:31:52 -07:00
Alan West 1074311765
OTLP log exporter (#1964) 2021-10-07 13:06:35 -07:00
Alan West a2daad1eb9
Fix incorrect comment for OTLP exporter Endpoint option (#2464)
* Fix incorrect comment for OTLP exporter Endpoint option

* Remove trace specific language
2021-10-07 10:15:08 -07:00
Cijo Thomas 0998eeddb3
Add basic view to docs (#2460) 2021-10-06 16:57:57 -07:00
Cijo Thomas 7fc0cbb2ac
Seal Metric class for improved perf (#2461) 2021-10-06 16:28:24 -07:00
Cijo Thomas dd6b11bafa
Handle exception from observable instruments (#2457) 2021-10-06 13:06:35 -07:00
Mikel Blanchard 3d16cd8d39
Added integration test for PrometheusExporterMiddleware. (#2456)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-10-06 12:35:26 -07:00
Cijo Thomas 8159df1178
Add basic docs for Metrics api and sdk (#2452) 2021-10-06 11:28:20 -07:00
Alan West 08049d68a6
Set AggregationTemporality from exporter options (#2455)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-10-06 11:06:05 -07:00
Cijo Thomas 5c7feb0931
Rename AddSource to AddMeter to better reflect intent (#2454) 2021-10-06 09:56:15 -07:00
Reiley Yang b52d85c820
improve metrics tutorial (#2453) 2021-10-06 08:20:39 -07:00
Cijo Thomas f05b058613
Minor doc fix (#2451) 2021-10-05 16:50:59 -07:00
Cijo Thomas efc2b9756d
Add note about Metrics API being part of DotNet (#2450) 2021-10-05 16:11:27 -07:00
Cijo Thomas f70dfd378a
View - support for dropping instrument (#2449) 2021-10-05 16:07:23 -07:00
Oleksiy Dubinin 1aa4da2098
Issue/2292 otlp http binary protobuf trace exporter (#2316) 2021-10-05 11:35:54 -07:00
Cijo Thomas 2512aa1709
View Part 3 - Support for configuring tagkeys to be used for aggregation (#2442) 2021-10-05 10:18:21 -07:00
Cijo Thomas 2cb0aa8dd8
Benchmark and stress test improvements (#2447) 2021-10-04 23:22:14 -07:00
Mikel Blanchard a4b25f117d
Prometheus: Unit tests part 2 (#2445) 2021-10-04 14:07:22 -07:00
Blake 9591cb95e9
Add basic wildcard support for listening to legacy activities. (#2444) 2021-10-04 13:42:49 -07:00
Alan West bd189aa654
Rename OtlpMetricsExporter -> OtlpMetricExporter (#2443) 2021-10-01 13:55:35 -07:00
Cijo Thomas 793d18ef02
Use instrument state as single metric instead of list with size one (#2441) 2021-10-01 12:26:22 -07:00
Mikel Blanchard 2c2515b774
Prometheus: Create unit test project (#2440) 2021-10-01 11:30:22 -07:00
Tom Tan 66329878f3
Replace '\n' with a call to Console.Write() (#2437) 2021-10-01 10:11:13 -07:00
Cijo Thomas 1e4094e131
Allow description override using View (#2438) 2021-10-01 10:00:12 -07:00
Cijo Thomas 2e8dd4d49c
Extract common logic to own methods in AggregatorStore (#2435) 2021-09-30 16:51:51 -07:00
Alan West 8a8dd9716b
Remove InternalsVisibleTo for OTLP exporter project (#2434) 2021-09-30 16:32:25 -07:00
Tom Tan c0af496fd8
Add warning when running stress test with DEBUG build (#2436)
* Add warning when running stress test with DEBUG build

* Revert unexpected change
2021-09-30 16:20:10 -07:00
Cijo Thomas 124c12afdf
Prometheus fixes (#2433) 2021-09-30 14:41:29 -07:00
Cijo Thomas 90d93fb637
Support View Part2 - specify custom buckets for Histogram (#2432) 2021-09-30 13:49:52 -07:00
Cijo Thomas a6e1e98ec2
Support View part1 - rename an instrument (#2421) 2021-09-29 13:03:32 -07:00
Reiley Yang d716bb17cd
clean up sln/proj (#2423) 2021-09-28 19:23:05 -07:00
Reiley Yang 9ed51e1060
Clean up stress test (#2422) 2021-09-28 15:38:15 -07:00
Mikel Blanchard dc24fe1485
PrometheusExporter: Project cleanup and middleware fixes (#2414) 2021-09-28 12:53:22 -07:00
Reiley Yang f47ea55a20
Add reusable stress test class (#2419) 2021-09-28 11:29:58 -07:00
Utkarsh Umesan Pillai 7b26a647a3
Update Metrics Benchmarks (#2418)
* Add benchmarks for TagList

* Update the benchmark results in the comments

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-09-28 11:19:38 -07:00
Cijo Thomas 2aa22696c9
Alloc-free recording of measurements upto 8 tags (#2420) 2021-09-28 10:11:05 -07:00
Cijo Thomas 2c70ca6da1
Add view (configuration only) (#2396) 2021-09-27 20:47:08 -07:00
Mikel Blanchard 400e463555
OTLP Exporter: Support IDeferredMeterProviderBuilder in AddOtlpExporter (#2413) 2021-09-27 15:56:39 -07:00
Mikel Blanchard 52559befa8
Attempting to stabilize TestHttpServer tests. (#2415) 2021-09-27 15:42:51 -07:00
Mikel Blanchard 38ee521b24
Hosting: Support metrics registration via IServiceCollection & deferred configuration (#2412)
* Add metrics support to hosting lib.

* Bug fixes and some public api additions.

* Added missing zipkin publicapi files.

* Unit tests.

* CHANGELOG updates

* Fixes

* Code review.

* Update src/OpenTelemetry.Extensions.Hosting/CHANGELOG.md

Co-authored-by: Reiley Yang <reyang@microsoft.com>

* Code review.

* Warning fixup.

Co-authored-by: Reiley Yang <reyang@microsoft.com>
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-09-27 10:30:10 -07:00
Michael Maxwell c60dc3697c
Delete unused `using` statements (#2411) 2021-09-27 10:07:46 -07:00
Mikel Blanchard 8f284e0580
Zipkin: Use HttpClient sync API on NET5.0+ (#2405)
* Use HttpClient sync API in Zipkin on NET5.0+.

* CHANGELOG update

* Exclude net5.0 from ApiCompat
2021-09-24 14:42:44 -07:00
Utkarsh Umesan Pillai 39fbb1b4bd
Update ConsoleMetricExporter to add a space between the attributes (#2410) 2021-09-23 15:12:56 -07:00
Michael Maxwell ded2eefcc2
Enable CS1591 (#2409)
* Don't disable rule

* Update OpenTelemetry.prod.loose.ruleset
2021-09-23 13:44:34 -07:00
Cijo Thomas 7bd3de95a5
Unit test for metric stream duplication (#2408) 2021-09-23 12:26:18 -07:00
Cijo Thomas 080927d465
Changelog update for 1.2.0.alpha4 (#2407) 2021-09-23 10:07:05 -07:00
Reiley Yang 61aaf2e6ed
Simplify tutorials (#2406) 2021-09-23 09:37:18 -07:00
Reiley Yang 78baf7c261
Implement the metrics dispose/shutdown logic (#2404) 2021-09-23 08:02:09 -07:00
Michael Maxwell 256fc2d2fe
Use `Stopwatch.StartNew()` (#2403) 2021-09-22 14:35:15 -07:00
Reiley Yang 15981dfd7f
Improve Metrics pull export mode (#2389) 2021-09-22 10:14:58 -07:00
Michael Maxwell 032f22d61e
Log dropped telemetry item count on shutdown (#2331) 2021-09-21 12:48:30 -07:00
Cijo Thomas a538016593
Disallow multiple metric streams of same name. (#2392) 2021-09-20 21:52:11 -07:00
Cijo Thomas 29110dca4c
Use default Batch if no metrics are available to collect (#2391) 2021-09-20 21:19:15 -07:00
Reiley Yang 47e1c5e22f
Update ForceFlush behavior to meet with the latest spec requirements (#2388) 2021-09-20 14:08:09 -07:00
Reiley Yang 1d63b31bf5
Refactor MetricReader (#2385) 2021-09-20 11:50:56 -07:00
Mikel Blanchard 58054d16cc
.NET Framework HttpClient Instrumentation: Fix missing events on instances created before TracerProvider (Part 2) (#2375)
* CHANGELOG update.

* Test and bug fixes.

* Update src/OpenTelemetry.Instrumentation.Http/CHANGELOG.md

Co-authored-by: Robert Pająk <pellared@hotmail.com>

* Lint

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
2021-09-20 10:37:29 -07:00
Utkarsh Umesan Pillai 67e4e071a4
Add a failing unit test for InMemoryExporter (#2387) 2021-09-19 17:54:04 -07:00
Cijo Thomas 6ade86e685
Small fixed in threadstatic storage used to split tags into keys and values (#2381) 2021-09-17 19:03:01 -07:00
Reiley Yang 2a45ebc333
Add MeterProvider.ForceFlush and Shutdown (#2382)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-09-17 18:28:20 -07:00
Cijo Thomas f82bec4497
Disable BaggageRestore tests until stable (#2384) 2021-09-17 18:17:06 -07:00
Reiley Yang d30746e5fc
refactor MetricReader Collect/OnCollect (#2380) 2021-09-17 16:20:38 -07:00
Cijo Thomas c4e467b3f9
Update to RC1 of DiagnosticSource (#2378) 2021-09-17 13:04:47 -07:00
Reiley Yang b356aa97a5
support MetricReader ForceFlush/Shutdown (#2376) 2021-09-17 12:45:04 -07:00
Cijo Thomas 36e8915a21
AggregatorStore to use concurentdictionary (#2339) 2021-09-17 11:22:23 -07:00
Mikel Blanchard c76f961d59
Hook into existing ServicePoints when setting up HttpWebRequest instrumentation on net framework. (#2364)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-09-17 11:08:17 -07:00
Reiley Yang e12621b582
s/HelperExtensions/Extensions/ (#2370)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-09-17 11:00:53 -07:00
Reiley Yang da54f8c8c9
Minor refactor MetricReader and AggregationTemporality (#2357) 2021-09-17 09:49:02 -07:00
Reiley Yang 34d8332a80
add metrics extending-sdk skeleton (#2356)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-09-15 14:57:29 -07:00
Reiley Yang 7b170c0a49
Fix extra space (#2354)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-09-15 12:44:04 -07:00
Reiley Yang 5deeb07080
Add metrics exporter modes (#2353) 2021-09-15 11:42:15 -07:00
Mikel Blanchard 2df1a62984
Lost Baggage: Fix TelemetryHttpModule losing Baggage when switching from native to managed threads (#2314)
* WIP working on reproducing and fixing lost baggage.

* TelemetryHttpModule now restores Baggage.

* Updated public api.

* Unit tests.

* Use SuppressFlow for more accurate test.

* CHANGELOG update.

* Attempting to fix unstable test.

* Attempting to fix unstable test #2.
2021-09-15 11:04:50 -07:00
yunl 3cc0f7e4af
initial (#2352) 2021-09-14 14:10:53 -07:00
Reiley Yang 3baed5b13c
Simplify the metrics examples (#2349) 2021-09-14 11:25:17 -07:00
Cijo Thomas 3ae8b508e2
Changelog for 1.2.0 alpha3 release (#2348) 2021-09-13 21:38:54 -07:00
Reiley Yang 886b39f0fa
Refactor MetricExporter AggregationTemporality (#2347) 2021-09-13 21:35:53 -07:00
Cijo Thomas edaf513ad2
Minor metric fixes (#2346)
* Minor metric fixes

* fix format

* PR comments

* revert
2021-09-13 20:11:16 -07:00
Reiley Yang 599b6e26f2
fix dispose ordering (#2344)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2021-09-13 14:49:00 -07:00
Reiley Yang aa7509e056
removed unused files (#2345) 2021-09-13 14:25:42 -07:00
Reiley Yang bec00a9a92
Refactor MetricReader AggregationTemporality (#2342) 2021-09-13 11:05:37 -07:00
Reiley Yang e97e50b550
Tweak metric type enum (#2340) 2021-09-13 10:31:47 -07:00
Cijo Thomas 2ef0179903
Avoid copy MetricPoint in exporter (#2338) 2021-09-10 17:37:00 -07:00
Cijo Thomas 3e0c45182d
Cleanup Metric aggregators and unused code (#2337) 2021-09-10 16:29:42 -07:00
Cijo Thomas 16b3188496
Metrics -> Main (#2332)
Co-authored-by: Alan West <3676547+alanwest@users.noreply.github.com>
Co-authored-by: Michael Maxwell <micmax@microsoft.com>
2021-09-10 15:34:54 -07:00
Michael Maxwell baa37f3a05
Remove 'en-us' from URLs (#2329) 2021-09-09 11:24:47 -07:00
Mikel Blanchard 22b1ff5a1a
Baggage API: Thread-safety (#2298)
* Implement thread-safety in Baggage API.

* Code review.

* Fixed broken test.

* Code review.

* Fix misspell.

* Code review.

* CHANGELOG update.

* Code review.
2021-09-04 11:19:20 -07:00
Utkarsh Umesan Pillai 86c524c622
Make private fields readonly when possible (#2103) 2021-09-04 07:49:07 -07:00
Robert Pająk 79d4c49404
Add support for OTEL_BSP_EXPORT_* environmental variables (#2219) 2021-09-02 21:53:13 -07:00
Michael Maxwell d355697038
Install prerelease 'OpenTelemetry.Exporter.Console' in metric docs (#2301) 2021-09-02 10:08:41 -07:00
Utkarsh Umesan Pillai 232cc1dda5
Mark internal and private classes sealed for perf improvement (#2119) 2021-09-01 21:41:48 -07:00
yunl 0f318420ea
Update the markdown file to reflect the current implementation of histogram. (#2302) 2021-09-01 19:19:08 -07:00
Michael Maxwell e27070d220
Install OTel 1.2+ so metrics are available (#2299) 2021-09-01 13:10:47 -07:00
Michael Maxwell 2364b4f933
Include all getting started sub-documents (#2300) 2021-09-01 13:07:04 -07:00
Reiley Yang 64170d3865
use EventKeywords.All instead of -1 for better readability (#2297) 2021-08-31 19:12:52 -07:00
yunl c761943d59
Remove unnecessary using statments. (#2296) 2021-08-31 14:57:52 -07:00
Michael Maxwell ca2ff2f248
Delete .publicApi for net452 and net46 (#2294) 2021-08-30 19:18:36 -07:00
Michael Maxwell 4d3756e205
Removing some remaining references to net46- support (#2293) 2021-08-30 17:32:06 -07:00
Mikel Blanchard 69c6bf2de9
ASP.NET & ASP.NET Core: Clear baggage when root activity is complete (#2284)
* Clear baggage when root activity is complete.

* Test fixes.

* Code review.

* A couple improvements found reviewing baggage code.
2021-08-30 12:46:01 -07:00
Alan West 5eed27ab5b
Add http.server.duration metric for ASP.NET Core instrumentation (#2288) 2021-08-26 20:03:03 -07:00
Cijo Thomas 34a95c7fb2
Fix metric OTLP exporter examples (#2291) 2021-08-26 14:23:37 -07:00
Reiley Yang c22a4189b7
completely remove netcoreapp2.1 (#2286) 2021-08-25 18:06:26 -07:00
Reiley Yang 53a880fdd7
improve the metrics console output (#2285) 2021-08-25 15:39:12 -07:00
Mikel Blanchard d9ad092dd3
Merge to main: New design for TelemetryHttpModule using ActivitySource + OpenTelemetry.API (#2270)
* New design for TelemetryHttpModule using ActivitySource + OpenTelemetry.API. (#2249)

* New design for TelemetryHttpModule using ActivitySource + OpenTelemetry.API part 2 (#2254)

* Use a single context.Items key for state management to make things more efficient.

* Added a comment for clarity.

* Code review.

* New design for TelemetryHttpModule using ActivitySource + OpenTelemetry.API part 3 (#2256)

* Update ASP.NET instrumentation to use the new TelemetryHttpModule.

* Fixed TelemetryHttpModule not starting its Activity objects. Added an example of request suppression.

* Tweaks an logging improvements.

* Sealed AspNetInstrumentationEventSource.

* Code review.

* New design for TelemetryHttpModule using ActivitySource + OpenTelemetry.API part 4 (#2258)

* Fixed up TelemetryHttpModule unit tests.

* Added tests for the new HasStarted helper and added checks for StartedButNotSampledObj when not sampled.

* Code review.

* New design for TelemetryHttpModule using ActivitySource + OpenTelemetry.API part 5 (#2261)

* Updated ASP.NET instrumentation tests for new TelemetryHttpModule.

* Added a test for the new RecordException option.

* Code review.

* New design for TelemetryHttpModule using ActivitySource + OpenTelemetry.API part 6 (#2264)

* CHANGELOG & README updates.

* Apply suggestions from code review

Co-authored-by: Reiley Yang <reyang@microsoft.com>

Co-authored-by: Reiley Yang <reyang@microsoft.com>

* Lint + sanity checks.

* Lint attempt 2.

* Restored CHANGELOG changes lost in merge.

Co-authored-by: Reiley Yang <reyang@microsoft.com>
2021-08-25 11:41:10 -07:00
1453 changed files with 104859 additions and 65164 deletions

4
.clomonitor.yml Normal file
View File

@ -0,0 +1,4 @@
# see https://github.com/cncf/clomonitor/blob/main/docs/checks.md#exemptions
exemptions:
- check: artifacthub_badge
reason: "Artifact Hub doesn't support .NET packages"

View File

@ -1,131 +1,176 @@
# To learn more about .editorconfig see https://aka.ms/editorconfigdocs
###############################
# Core EditorConfig Options #
###############################
# All files
[*]
indent_style = space
insert_final_newline = true
# Code files
[*.{cs,csx,vb,vbx}]
indent_size = 4
trim_trailing_whitespace = true
charset = utf-8
###############################
# .NET Coding Conventions #
###############################
[*.{cs,vb}]
# Organize usings
dotnet_sort_system_directives_first = true
# this. preferences
dotnet_style_qualification_for_field = true:suggestion
dotnet_style_qualification_for_property = true:suggestion
dotnet_style_qualification_for_method = true:suggestion
dotnet_style_qualification_for_event = true:suggestion
# Language keywords vs BCL types preferences
dotnet_style_predefined_type_for_locals_parameters_members = true:silent
dotnet_style_predefined_type_for_member_access = true:silent
# Parentheses preferences
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
# Modifier preferences
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
dotnet_style_readonly_field = true:suggestion
# Expression-level preferences
dotnet_style_object_initializer = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_explicit_tuple_names = true:suggestion
dotnet_style_null_propagation = true:suggestion
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent
dotnet_prefer_inferred_tuple_names = true:suggestion
dotnet_prefer_inferred_anonymous_type_member_names = true:suggestion
dotnet_style_prefer_auto_properties = true:silent
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
dotnet_style_prefer_conditional_expression_over_return = true:silent
###############################
# Naming Conventions #
###############################
# Style Definitions
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
# Use PascalCase for constant fields
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
dotnet_naming_symbols.constant_fields.applicable_kinds = field
dotnet_naming_symbols.constant_fields.applicable_accessibilities = *
dotnet_naming_symbols.constant_fields.required_modifiers = const
###############################
# C# Coding Conventions #
###############################
[*.cs]
###############################
# Core EditorConfig Options #
###############################
# All files
[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
[*.sh]
end_of_line = lf
[*.{cs,cshtml,htm,html,md,py,sln,xml}]
indent_size = 4
###############################
# Copyright header #
###############################
[*.cs]
file_header_template = Copyright The OpenTelemetry Authors\nSPDX-License-Identifier: Apache-2.0
###############################
# .NET Coding Conventions #
###############################
# Directive order based on dotnet/runtime settings
# https://github.com/dotnet/runtime/blob/main/.editorconfig
[*.cs]
# New line preferences
csharp_new_line_before_open_brace = all
csharp_new_line_before_else = true
csharp_new_line_before_catch = true
csharp_new_line_before_finally = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_between_query_expression_clauses = true
# Indentation preferences
csharp_indent_case_contents = true
csharp_indent_switch_labels = true
csharp_indent_labels = flush_left
# Modifier preferences
csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async:suggestion
dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
# this. preferences
dotnet_style_qualification_for_field = true:suggestion
dotnet_style_qualification_for_property = true:suggestion
dotnet_style_qualification_for_method = true:suggestion
dotnet_style_qualification_for_event = true:suggestion
# var preferences, language keywords vs BCL types preferences
csharp_style_var_for_built_in_types = true:silent
csharp_style_var_when_type_is_apparent = true:silent
csharp_style_var_elsewhere = true:silent
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
dotnet_style_predefined_type_for_member_access = true:suggestion
# name all constant fields using PascalCase
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
dotnet_naming_symbols.constant_fields.applicable_kinds = field
dotnet_naming_symbols.constant_fields.required_modifiers = const
dotnet_naming_symbols.constant_fields.applicable_accessibilities = *
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
# Code style defaults
dotnet_sort_system_directives_first = true
csharp_prefer_braces = true:silent
csharp_preserve_single_line_blocks = true
csharp_preserve_single_line_statements = true
csharp_prefer_simple_using_statement = true:suggestion
dotnet_style_readonly_field = true:suggestion
csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion
dotnet_style_prefer_simplified_interpolation = true:suggestion
dotnet_style_object_initializer = true:suggestion
csharp_style_prefer_primary_constructors = false:none
# Expression-level preferences
dotnet_style_object_initializer = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_explicit_tuple_names = true:suggestion
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_null_propagation = true:suggestion
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
dotnet_style_prefer_inferred_tuple_names = true:suggestion
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
dotnet_style_prefer_auto_properties = true:suggestion
dotnet_style_prefer_conditional_expression_over_assignment = true:suggestion
dotnet_style_prefer_conditional_expression_over_return = true:suggestion
csharp_prefer_simple_default_expression = true:suggestion
csharp_style_unused_value_expression_statement_preference = discard_variable:none
# Expression-bodied members
csharp_style_expression_bodied_methods = true:suggestion
dotnet_diagnostic.IDE0022.severity = suggestion # dotnet format doesn't respect the suggestion in the line above
csharp_style_expression_bodied_constructors = false:warning
csharp_style_expression_bodied_operators = true:suggestion
csharp_style_expression_bodied_properties = true:suggestion
csharp_style_expression_bodied_indexers = true:suggestion
csharp_style_expression_bodied_accessors = true:suggestion
# Pattern matching
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
csharp_style_inlined_variable_declaration = true:suggestion
# Null checking preferences
csharp_style_throw_expression = true:suggestion
csharp_style_conditional_delegate_call = true:suggestion
# Other features
csharp_style_prefer_index_operator = false:none
csharp_style_prefer_range_operator = false:none
csharp_style_pattern_local_over_anonymous_function = true:suggestion
csharp_style_deconstructed_variable_declaration = true:suggestion
csharp_style_namespace_declarations = file_scoped:warning
dotnet_style_namespace_match_folder = false:none
# Space preferences
csharp_space_after_cast = false
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_around_binary_operators = before_and_after
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
# Parentheses preferences
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:suggestion
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:suggestion
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:suggestion
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:suggestion
# Code analyzers
# CA1031: Do not catch general exception types
dotnet_diagnostic.CA1031.severity = none
# CA1303: Do not pass literals as localized parameters
dotnet_diagnostic.CA1303.severity = none
# var preferences
csharp_style_var_for_built_in_types = true:silent
csharp_style_var_when_type_is_apparent = true:silent
csharp_style_var_elsewhere = true:silent
# Expression-bodied members
csharp_style_expression_bodied_methods = false:silent
csharp_style_expression_bodied_constructors = false:silent
csharp_style_expression_bodied_operators = false:silent
csharp_style_expression_bodied_properties = true:silent
csharp_style_expression_bodied_indexers = true:silent
csharp_style_expression_bodied_accessors = true:silent
# Pattern matching preferences
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
# Null-checking preferences
csharp_style_throw_expression = true:suggestion
csharp_style_conditional_delegate_call = true:suggestion
# Modifier preferences
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion
# Expression-level preferences
csharp_prefer_braces = true:silent
csharp_style_deconstructed_variable_declaration = true:suggestion
csharp_prefer_simple_default_expression = true:suggestion
csharp_style_pattern_local_over_anonymous_function = true:suggestion
csharp_style_inlined_variable_declaration = true:suggestion
###############################
# C# Formatting Rules #
###############################
# New line preferences
csharp_new_line_before_open_brace = all
csharp_new_line_before_else = true
csharp_new_line_before_catch = true
csharp_new_line_before_finally = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_between_query_expression_clauses = true
# Indentation preferences
csharp_indent_case_contents = true
csharp_indent_switch_labels = true
csharp_indent_labels = flush_left
# Space preferences
csharp_space_after_cast = false
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_around_binary_operators = before_and_after
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
# Wrapping preferences
csharp_preserve_single_line_statements = true
csharp_preserve_single_line_blocks = true
###############################
# VB Coding Conventions #
###############################
[*.vb]
# Modifier preferences
visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async:suggestion
[obj/**.cs]
# IDE0001: Simplify name
dotnet_diagnostic.IDE0001.severity = warning
# IDE0002: Simplify member access
dotnet_diagnostic.IDE0002.severity = warning
# IDE0005: Remove unnecessary import
dotnet_diagnostic.IDE0005.severity = warning
# RS0041: Public members should not use oblivious types
dotnet_diagnostic.RS0041.severity = suggestion
[*Tests.cs]
# CA1515: Disable making types internal for Tests classes. It is required by xunit
dotnet_diagnostic.CA1515.severity = none
# CA2007: Disable Consider calling ConfigureAwait on the awaited task. It is not working with xunit
dotnet_diagnostic.CA2007.severity = none
[**/obj/**.cs]
generated_code = true
[*.csproj]
indent_size = 2
[*.cshtml.cs]
dotnet_diagnostic.SA1649.severity = none

1
.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
*.sh eol=lf

View File

@ -1,44 +0,0 @@
---
name: Bug Report
about: Create a report to help us improve
labels: bug
---
# Bug Report
List of [NuGet packages](https://www.nuget.org/profiles/OpenTelemetry) and
version that you are using (e.g. `OpenTelemetry 0.4.0-beta.2`):
*
Runtime version (e.g. `net461`, `net48`, `netcoreapp2.1`, `netcoreapp3.1`, etc.
You can find this information from the `*.csproj` file):
*
## Symptom
A clear and concise description of what the bug is.
**What is the expected behavior?**
What did you expect to see?
**What is the actual behavior?**
What did you see instead?
## Reproduce
Create a self-contained project using the template of your choice, apply the
minimum required code to result in the issue you're observing.
We will close this issue if:
* The repro project you share with us is complex. We can't investigate custom
projects, so don't point us to such, please.
* If we can not reproduce the behavior you're reporting.
## Additional Context
Add any other context about the problem here.

94
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@ -0,0 +1,94 @@
name: Bug report
title: "[bug] "
description: Create a report to help us improve
labels: [bug,needs-triage]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report! Please make sure to fill out the entire form below, providing as much context as you can in order to help us triage and track down the bug as quickly as possible.
Before filing a bug, please be sure you have searched through [existing bugs](https://github.com/open-telemetry/opentelemetry-dotnet/issues?q=is%3Aissue+is%3Aopen+label%3Abug) to see if an existing issue covers the bug.
- type: dropdown
id: package
attributes:
label: Package
description: Which NuGet package does this bug report concern?
multiple: false
options:
- OpenTelemetry
- OpenTelemetry.Api
- OpenTelemetry.Api.ProviderBuilderExtensions
- OpenTelemetry.Exporter.Console
- OpenTelemetry.Exporter.InMemory
- OpenTelemetry.Exporter.OpenTelemetryProtocol
- OpenTelemetry.Exporter.Prometheus.AspNetCore
- OpenTelemetry.Exporter.Prometheus.HttpListener
- OpenTelemetry.Exporter.Zipkin
- OpenTelemetry.Extensions.Hosting
- OpenTelemetry.Extensions.Propagators
- OpenTelemetry.Shims.OpenTracing
validations:
required: true
- type: textarea
attributes:
label: Package Version
description: List of [all OpenTelemetry NuGet packages](https://www.nuget.org/profiles/OpenTelemetry) and version that you are using (e.g. `OpenTelemetry 1.0.2`)
value: |
| Package Name | Version |
| ------------------------------------- | ------- |
| OpenTelemetry.Api | 1.8.0 |
| OpenTelemetry | 1.8.0 |
| TBD | TBD |
validations:
required: true
- type: input
attributes:
label: Runtime Version
description: What .NET runtime version did you use? (e.g. `net462`, `net48`, `net8.0`, etc. You can find this information from the `*.csproj` file)
validations:
required: true
- type: textarea
attributes:
label: Description
description: What happened? Please provide as much detail as you reasonably can.
validations:
required: true
- type: textarea
attributes:
label: Steps to Reproduce
description: Provide a [minimal, reproducible example](https://stackoverflow.com/help/minimal-reproducible-example). We will close the issue if the repro project you share with us is complex or we cannot reproduce the behavior you are reporting. We cannot investigate custom projects, so don't point us to such, please.
validations:
required: true
- type: textarea
attributes:
label: Expected Result
description: What did you expect to see?
validations:
required: true
- type: textarea
attributes:
label: Actual Result
description: What did you see instead?
validations:
required: true
- type: textarea
attributes:
label: Additional Context
description: Any additional information you think may be relevant to this issue.
- type: dropdown
attributes:
label: Tip
description: This element is static, used to render a helpful sub-heading for end-users and community members to help prioritize issues. Please leave as is.
options:
- "<sub>[React](https://github.blog/news-insights/product-news/add-reactions-to-pull-requests-issues-and-comments/) with :+1: to help prioritize this issue. Please use comments to provide useful context, avoiding `+1` or `me too`, to help us triage it. Learn more [here](https://opentelemetry.io/community/end-user/issue-participation/).</sub>"
default: 0

7
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,7 @@
# https://docs.github.com/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
blank_issues_enabled: false
contact_links:
- name: Question
url: https://github.com/open-telemetry/opentelemetry-dotnet/discussions/new?category=q-a
about: Ask a question to help us improve our knowledge base and documentation.

View File

@ -1,29 +0,0 @@
---
name: Feature Request
about: Suggest an idea for this project
labels: enhancement
---
# Feature Request
Before opening a feature request against this repo, consider whether the feature
should/could be implemented in the [other OpenTelemetry client
libraries](https://github.com/open-telemetry/). If so, please [open an issue on
opentelemetry-specification](https://github.com/open-telemetry/opentelemetry-specification/issues/new)
first.
**Is your feature request related to a problem?**
If so, provide a concise description of the problem.
**Describe the solution you'd like:**
What do you want to happen instead? What is the expected behavior?
**Describe alternatives you've considered.**
Which alternative solutions or features have you considered?
## Additional Context
Add any other context about the feature request here.

View File

@ -0,0 +1,63 @@
name: Feature request
title: "[feature request] "
description: Suggest an idea for this project
labels: [enhancement,needs-triage]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this feature request! Please make sure to fill out the entire form below, providing as much context as you can in order to help us triage and track down your request as quickly as possible.
Before opening a feature request, consider whether the feature should/could be implemented in the [other OpenTelemetry client libraries](https://github.com/open-telemetry/). If so, please [open an issue on opentelemetry-specification](https://github.com/open-telemetry/opentelemetry-specification/issues/new) first.
- type: dropdown
id: package
attributes:
label: Package
description: Which NuGet package does this feature request concern?
multiple: false
options:
- OpenTelemetry
- OpenTelemetry.Api
- OpenTelemetry.Api.ProviderBuilderExtensions
- OpenTelemetry.Exporter.Console
- OpenTelemetry.Exporter.InMemory
- OpenTelemetry.Exporter.OpenTelemetryProtocol
- OpenTelemetry.Exporter.Prometheus.AspNetCore
- OpenTelemetry.Exporter.Prometheus.HttpListener
- OpenTelemetry.Exporter.Zipkin
- OpenTelemetry.Extensions.Hosting
- OpenTelemetry.Extensions.Propagators
- OpenTelemetry.Shims.OpenTracing
- type: textarea
attributes:
label: Is your feature request related to a problem?
description: If so, provide a concise description of the problem.
- type: textarea
attributes:
label: What is the expected behavior?
description: Describe the solution you would like.
validations:
required: true
- type: textarea
attributes:
label: Which alternative solutions or features have you considered?
description: Describe alternatives you've considered.
validations:
required: true
- type: textarea
attributes:
label: Additional context
description: Any additional information you think may be relevant to this feature request.
- type: dropdown
attributes:
label: Tip
description: This element is static, used to render a helpful sub-heading for end-users and community members to help prioritize issues. Please leave as is.
options:
- "<sub>[React](https://github.blog/news-insights/product-news/add-reactions-to-pull-requests-issues-and-comments/) with :+1: to help prioritize this issue. Please use comments to provide useful context, avoiding `+1` or `me too`, to help us triage it. Learn more [here](https://opentelemetry.io/community/end-user/issue-participation/).</sub>"
default: 0

View File

@ -1,20 +0,0 @@
---
name: Question
about: Create a question to help us improve our knowledgebase and documentation
labels: question
---
# Question
**Describe your environment.**
Describe any aspect of your environment relevant to the question.
**What are you trying to achieve?**
What did you expect to see?
## Additional Context
Add any other context about the problem here. If you followed an existing
documentation, please share the link to it.

View File

@ -1,11 +1,13 @@
Fixes #.
Fixes #
Design discussion issue #
## Changes
Please provide a brief description of the changes here.
For significant contributions please make sure you have completed the following items:
## Merge requirement checklist
* [ ] `CHANGELOG.md` updated for non-trivial changes
* [ ] Design discussion issue #
* [ ] Changes in public API reviewed
* [ ] [CONTRIBUTING](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/CONTRIBUTING.md) guidelines followed (license requirements, nullable enabled, static analysis, etc.)
* [ ] Unit tests added/updated
* [ ] Appropriate `CHANGELOG.md` files updated for non-trivial changes
* [ ] Changes in public API reviewed (if applicable)

32
.github/codecov.yml vendored
View File

@ -6,6 +6,7 @@ coverage:
round: down
range: "70...100"
status:
project: off
patch: off
parsers:
@ -22,7 +23,32 @@ comment:
require_changes: no
ignore:
- "docs/**/*"
- "examples/**/*"
- "test/**/*"
- "**.md"
- ".github"
- ".vscode"
- "build"
- "docs"
- "examples"
- "src/Shared"
- "test"
flags:
unittests-Solution:
carryforward: true
paths:
- src
unittests-Project-Stable:
carryforward: true
paths:
- src
unittests-Project-Experimental:
carryforward: true
paths:
- src
unittests-UnstableCoreLibraries-Experimental:
carryforward: true
paths:
- src

75
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,75 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
labels:
- "infra"
- package-ecosystem: "docker"
directory: "/examples/MicroserviceExample/WebApi"
schedule:
interval: "weekly"
day: "wednesday"
labels:
- "infra"
ignore:
- dependency-name: "*"
update-types:
- "version-update:semver-major"
- "version-update:semver-minor"
- package-ecosystem: "docker"
directory: "examples/MicroserviceExample/WorkerService"
schedule:
interval: "weekly"
day: "wednesday"
labels:
- "infra"
ignore:
- dependency-name: "*"
update-types:
- "version-update:semver-major"
- "version-update:semver-minor"
- package-ecosystem: "docker"
directory: "test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/IntegrationTest"
schedule:
interval: "weekly"
day: "wednesday"
labels:
- "infra"
ignore:
- dependency-name: "*"
update-types:
- "version-update:semver-major"
- "version-update:semver-minor"
- package-ecosystem: "docker"
directory: "test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests"
schedule:
interval: "weekly"
day: "wednesday"
labels:
- "infra"
ignore:
- dependency-name: "*"
update-types:
- "version-update:semver-major"
- "version-update:semver-minor"
- package-ecosystem: "dotnet-sdk"
directory: "/"
schedule:
interval: "weekly"
day: "wednesday"
labels:
- "infra"
ignore:
- dependency-name: "*"
update-types:
- "version-update:semver-major"
- "version-update:semver-minor"
- package-ecosystem: "pip"
directory: "test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests"
schedule:
interval: "weekly"
day: "wednesday"
labels:
- "infra"

View File

@ -0,0 +1,115 @@
# Called by ci.yml to build & test project files
# See: https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow
name: Build Component
on:
workflow_call:
inputs:
project-name:
required: true
type: string
project-build-commands:
default: ''
required: false
type: string
code-cov-name:
required: true
type: string
code-cov-prefix:
default: 'unittests'
required: false
type: string
os-list:
default: '[ "windows-latest", "ubuntu-22.04", "ubuntu-22.04-arm" ]'
required: false
type: string
tfm-list:
default: '[ "net462", "net8.0", "net9.0" ]'
required: false
type: string
permissions:
contents: read
jobs:
build-test:
strategy:
fail-fast: false # ensures the entire test matrix is run, even if one permutation fails
matrix:
os: ${{ fromJSON(inputs.os-list) }}
version: ${{ fromJSON(inputs.tfm-list) }}
exclude:
- os: ubuntu-22.04
version: net462
- os: ubuntu-22.04-arm
version: net462
- os: ubuntu-22.04-arm
version: net8.0
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
# Note: By default GitHub only fetches 1 commit. MinVer needs to find
# the version tag which is typically NOT on the first commit so we
# retrieve them all.
fetch-depth: 0
- name: Setup previous .NET runtimes
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
with:
dotnet-version: |
8.0.x
- name: Setup .NET
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
- name: dotnet restore ${{ inputs.project-name }}
run: dotnet restore ${{ inputs.project-name }} ${{ inputs.project-build-commands }}
- name: dotnet build ${{ inputs.project-name }}
run: dotnet build ${{ inputs.project-name }} --configuration Release --no-restore ${{ inputs.project-build-commands }}
- name: dotnet test ${{ inputs.project-name }}
run: >
dotnet test ${{ inputs.project-name }}
--collect:"Code Coverage"
--results-directory:TestResults
--framework ${{ matrix.version }}
--configuration Release
--no-restore
--no-build
--logger:"console;verbosity=detailed"
--logger:"GitHubActions;report-warnings=false"
--logger:"junit;LogFilePath=TestResults/junit.xml"
-- RunConfiguration.DisableAppDomain=true
- name: Install coverage tool
run: dotnet tool install -g dotnet-coverage
- name: Merging test results
run: dotnet-coverage merge -f cobertura -o ./TestResults/Cobertura.xml ./TestResults/**/*.coverage
- name: Upload code coverage ${{ inputs.code-cov-prefix }}-${{ inputs.code-cov-name }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
continue-on-error: true # Note: Don't fail for upload failures
env:
OS: ${{ matrix.os }}
TFM: ${{ matrix.version }}
with:
files: TestResults/Cobertura.xml
env_vars: OS,TFM
flags: ${{ inputs.code-cov-prefix }}-${{ inputs.code-cov-name }}
name: Code Coverage for ${{ inputs.code-cov-prefix }}-${{ inputs.code-cov-name }} on [${{ matrix.os }}.${{ matrix.version }}]
codecov_yml_path: .github/codecov.yml
token: ${{ secrets.CODECOV_TOKEN }}
- name: Upload test results ${{ inputs.code-cov-prefix }}-${{ inputs.code-cov-name }}
if: ${{ !cancelled() && hashFiles('./**/TestResults/junit.xml') != '' }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
env_vars: OS,TFM
flags: ${{ inputs.code-cov-prefix }}-${{ inputs.code-cov-name }}
name: Test results for ${{ inputs.code-cov-prefix }}-${{ inputs.code-cov-name }} on [${{ matrix.os }}.${{ matrix.version }}]
token: ${{ secrets.CODECOV_TOKEN }}

58
.github/workflows/add-labels.yml vendored Normal file
View File

@ -0,0 +1,58 @@
name: 'Add labels to issues and pull requests'
on:
issues:
types: [ opened ]
pull_request_target:
branches: [ 'main*' ]
permissions:
contents: read
jobs:
add-labels-on-issues:
permissions:
issues: write
if: github.event_name == 'issues' && !github.event.issue.pull_request
runs-on: ubuntu-22.04
steps:
- name: check out code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Add labels for package found in bug issue descriptions
shell: pwsh
run: |
Import-Module .\build\scripts\add-labels.psm1
AddLabelsOnIssuesForPackageFoundInBody `
-issueNumber ${{ github.event.issue.number }} `
-issueBody $env:ISSUE_BODY
env:
GH_TOKEN: ${{ github.token }}
ISSUE_BODY: ${{ github.event.issue.body }}
add-labels-on-pull-requests:
permissions:
pull-requests: write
if: github.event_name == 'pull_request_target'
runs-on: ubuntu-22.04
steps:
- name: check out code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ github.event.repository.default_branch }} # Note: Do not run on the PR branch we want to execute add-labels.psm1 from main on the base repo only because pull_request_target can see secrets
- name: Add labels for files changed on pull requests
shell: pwsh
run: |
Import-Module .\build\scripts\add-labels.psm1
AddLabelsOnPullRequestsBasedOnFilesChanged `
-pullRequestNumber ${{ github.event.pull_request.number }} `
-labelPackagePrefix 'pkg:'
env:
GH_TOKEN: ${{ github.token }}

View File

@ -1,21 +0,0 @@
name: API Compatibility
on:
pull_request:
branches: [ main, metrics ]
paths-ignore:
- '**.md'
jobs:
build-test:
runs-on: windows-latest
env:
CheckAPICompatibility: true
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore

37
.github/workflows/automation.yml vendored Normal file
View File

@ -0,0 +1,37 @@
name: Resolve automation settings
on:
workflow_call:
outputs:
enabled:
value: ${{ jobs.resolve-automation.outputs.enabled == 'true' }}
token-secret-name:
value: ${{ jobs.resolve-automation.outputs.token-secret-name }}
username:
value: ${{ vars.AUTOMATION_USERNAME }}
email:
value: ${{ vars.AUTOMATION_EMAIL }}
secrets:
OPENTELEMETRYBOT_GITHUB_TOKEN:
required: false
permissions:
contents: read
jobs:
resolve-automation:
runs-on: ubuntu-22.04
outputs:
enabled: ${{ steps.evaluate.outputs.enabled }}
token-secret-name: ${{ steps.evaluate.outputs.token-secret-name }}
env:
OPENTELEMETRYBOT_GITHUB_TOKEN_EXISTS: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN != '' }}
steps:
- id: evaluate
run: |
echo "enabled=${{ env.OPENTELEMETRYBOT_GITHUB_TOKEN_EXISTS == 'true' }}" >> "$GITHUB_OUTPUT"
echo "token-secret-name=OPENTELEMETRYBOT_GITHUB_TOKEN" >> "$GITHUB_OUTPUT"

196
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,196 @@
name: Build
on:
workflow_dispatch:
# The push trigger would run the CI workflow when any changes get merged to main branch.
# The build badge on the main README uses the CI results on the main branch to report the build status.
push:
branches: [ 'main*' ]
pull_request:
branches: [ 'main*' ]
permissions:
contents: read
jobs:
lint-misspell-sanitycheck:
uses: ./.github/workflows/sanitycheck.yml
detect-changes:
runs-on: windows-latest
outputs:
changes: ${{ steps.changes.outputs.changes }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: AurorNZ/paths-filter@3b1f3abc3371cca888d8eb03dfa70bc8a9867629 # v4.0.0
id: changes
with:
filters: |
md: ['**.md']
build: ['build/**', '.github/**/*.yml', '**/*.targets', '**/*.props', 'global.json']
shared: ['src/Shared/**']
code: ['**.cs', '**.csproj', '.editorconfig']
solution: ['OpenTelemetry.sln']
packaged-code: ['src/**', '!**/*.md']
api-code: ['*/OpenTelemetry.Api*/**', '!**/*.md']
api-packages: ['src/OpenTelemetry.Api*/**', '!**/*.md']
instrumentation: ['*/OpenTelemetry.Instrumentation*/**', 'test/TestApp.AspNetCore/**', '!**/*.md']
sdk-code: ['src/OpenTelemetry/**', 'test/OpenTelemetry.Tests/**', '!**/*.md']
sdk-package: ['src/OpenTelemetry/**', '!**/*.md']
unstable-core-packages: ['src/OpenTelemetry.Exporter.Prometheus.AspNetCore/**', 'src/OpenTelemetry.Exporter.Prometheus.HttpListener/**', 'src/OpenTelemetry.Shims.OpenTracing/**', '!**/*.md']
otlp: ['*/OpenTelemetry.Exporter.OpenTelemetryProtocol*/**', '!**/*.md']
lint-md:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'md')
|| contains(needs.detect-changes.outputs.changes, 'build')
uses: ./.github/workflows/markdownlint.yml
lint-dotnet-format:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'code')
|| contains(needs.detect-changes.outputs.changes, 'build')
uses: ./.github/workflows/dotnet-format.yml
build-test-solution:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'solution')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: 'OpenTelemetry.sln'
code-cov-name: 'Solution'
build-test-project-stable:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'code')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: './build/OpenTelemetry.proj'
project-build-commands: '-p:ExposeExperimentalFeatures=false'
code-cov-name: 'Project-Stable'
build-test-project-experimental:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'code')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: './build/OpenTelemetry.proj'
project-build-commands: '-p:ExposeExperimentalFeatures=true'
code-cov-name: 'Project-Experimental'
# Build unstable core libraries using stable packages released to NuGet
build-test-unstable-core:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'unstable-core-packages')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: './build/UnstableCoreLibraries.proj'
project-build-commands: '-p:RunningDotNetPack=true -p:ExposeExperimentalFeatures=true'
code-cov-name: 'UnstableCoreLibraries-Experimental'
otlp-integration-test:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'api-packages')
|| contains(needs.detect-changes.outputs.changes, 'sdk-package')
|| contains(needs.detect-changes.outputs.changes, 'otlp')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
version: [ net8.0, net9.0 ]
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Run OTLP Exporter docker compose
run: docker compose --file=test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/IntegrationTest/docker-compose.yml --file=build/docker-compose.${{ matrix.version }}.yml --project-directory=. up --exit-code-from=tests --build
w3c-trace-context-integration-test:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'api-packages')
|| contains(needs.detect-changes.outputs.changes, 'sdk-package')
|| contains(needs.detect-changes.outputs.changes, 'instrumentation')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
version: [ net8.0, net9.0 ]
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Run W3C Trace Context docker compose
run: docker compose --file=test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/docker-compose.yml --file=build/docker-compose.${{ matrix.version }}.yml --project-directory=. up --exit-code-from=tests --build
validate-packages:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'packaged-code')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/package-validation.yml
generate-docs:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'packaged-code')
|| contains(needs.detect-changes.outputs.changes, 'md')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/docfx.yml
verify-aot-compat:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'packaged-code')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/verifyaotcompat.yml
concurrency-tests:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'api-code')
|| contains(needs.detect-changes.outputs.changes, 'sdk-code')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/concurrency-tests.yml
build-test:
needs: [
detect-changes,
lint-misspell-sanitycheck,
lint-md,
lint-dotnet-format,
build-test-solution,
build-test-project-stable,
build-test-project-experimental,
build-test-unstable-core,
otlp-integration-test,
w3c-trace-context-integration-test,
validate-packages,
generate-docs,
verify-aot-compat,
concurrency-tests
]
if: always() && !cancelled()
runs-on: ubuntu-22.04
steps:
- run: |
if ( ${{ contains(needs.*.result, 'failure') }} == true ); then echo 'build failed'; exit 1; else echo 'build complete'; fi

View File

@ -1,55 +0,0 @@
name: Code Coverage
on:
push:
branches: [ main, metrics ]
paths-ignore:
- '**.md'
pull_request:
branches: [ main, metrics ]
paths-ignore:
- '**.md'
jobs:
build-test-report:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-latest]
env:
OS: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # fetching all
- name: Install dependencies
run: dotnet restore
- name: dotnet build
run: dotnet build --configuration Release --no-restore
# - name: dotnet test
# run: dotnet test --collect:"XPlat Code Coverage" --results-directory:"TestResults" --configuration Release --no-build -- RunConfiguration.DisableAppDomain=true
- name: dotnet test
run: dotnet test --collect:"Code Coverage" --results-directory:"TestResults" --configuration Release --no-build -- RunConfiguration.DisableAppDomain=true
- name: Process code coverage
run: .\build\process-codecoverage.ps1
shell: powershell
- name: Install report tool
run: dotnet tool install -g dotnet-reportgenerator-globaltool
- name: Merging test results
run: reportgenerator -reports:TestResults/**/*.xml -targetdir:TestResults -reporttypes:Cobertura -assemblyFilters:"-microsoft.data.sqlclient*;-grpc.core*;-opentracing*"
- uses: codecov/codecov-action@v1.0.12
with:
file: TestResults/Cobertura.xml
env_vars: OS
name: Code Coverage for ${{ matrix.os }}

View File

@ -1,64 +1,71 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
name: "CodeQL"
on:
push:
branches: [ 'main' ]
pull_request:
branches: [ 'main' ]
schedule:
- cron: '0 0 * * *' # once in a day at 00:00
- cron: '0 0 * * *' # once in a day at 00:00
workflow_dispatch:
permissions: {}
jobs:
analyze:
name: Analyze
permissions:
actions: read # for github/codeql-action/init to get workflow details
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/analyze to upload SARIF results
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
# Override automatic language detection by changing the below list
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
language: ['csharp']
# Learn more...
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
language: ['actions', 'csharp']
steps:
- name: configure Pagefile
uses: al-cheb/configure-pagefile-action@v1.2
- name: Configure Pagefile
if: matrix.language == 'csharp'
uses: al-cheb/configure-pagefile-action@a3b6ebd6b634da88790d9c58d4b37a7f4a7b8708 # v1.4
with:
minimum-size: 8GB
maximum-size: 32GB
disk-root: "D:"
- name: Checkout repository
uses: actions/checkout@v2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
filter: 'tree:0'
persist-credentials: false
show-progress: false
- name: Initialize CodeQL
uses: github/codeql-action/init@2d92b76c45b91eb80fc44c74ce3fce0ee94e8f9d # v3.30.0
with:
build-mode: none
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@2d92b76c45b91eb80fc44c74ce3fce0ee94e8f9d # v3.30.0
with:
category: '/language:${{ matrix.language }}'
codeql:
if: ${{ !cancelled() }}
needs: [ analyze ]
runs-on: ubuntu-latest
steps:
- name: Report status
shell: bash
env:
SCAN_SUCCESS: ${{ !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
run: |
if [ "${SCAN_SUCCESS}" == "true" ]
then
echo 'CodeQL analysis successful'
else
echo 'CodeQL analysis failed'
exit 1
fi

37
.github/workflows/concurrency-tests.yml vendored Normal file
View File

@ -0,0 +1,37 @@
# Called by ci.yml to run coyote concurrency tests
# See: https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow
name: Concurrency Tests
on:
workflow_call:
permissions:
contents: read
jobs:
run-concurrency-tests:
strategy:
fail-fast: false # ensures the entire test matrix is run, even if one permutation fails
matrix:
os: [ windows-latest, ubuntu-22.04 ]
version: [ net8.0 ]
project: [ OpenTelemetry.Tests, OpenTelemetry.Api.Tests ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup dotnet
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
- name: Run Coyote Tests
shell: pwsh
run: .\build\scripts\test-threadSafety.ps1 -testProjectName ${{ matrix.project }} -targetFramework ${{ matrix.version }}
- name: Publish Artifacts
if: always() && !cancelled()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: ${{ matrix.os }}-${{ matrix.project }}-${{ matrix.version }}-coyoteoutput
path: '**/*_CoyoteOutput.*'

View File

@ -1,21 +1,26 @@
name: docfx
# Called by ci.yml to run documentation build
# See: https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow
name: Build docfx
on:
push:
branches: [ main, metrics ]
pull_request:
branches: [ main, metrics ]
workflow_call:
permissions:
contents: read
jobs:
build:
run-docfx-build:
runs-on: windows-latest
steps:
- name: check out code
uses: actions/checkout@v2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup dotnet
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
- name: install docfx
run: choco install docfx -y
run: dotnet tool install -g docfx
- name: run .\build\docfx.cmd
shell: cmd

View File

@ -1,32 +1,46 @@
name: dotnet format
# Called by ci.yml to perform dotnet format linting
# See: https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow
name: Lint - dotnet format
on:
push:
branches: [ main, metrics ]
paths:
- '**.cs'
- '.editorconfig'
pull_request:
branches: [ main, metrics ]
paths:
- '**.cs'
- '.editorconfig'
workflow_call:
permissions:
contents: read
jobs:
check-format:
run-dotnet-format-stable:
runs-on: windows-latest
steps:
- name: check out code
uses: actions/checkout@v2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup .NET Core 3.1
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.1.x
- name: Setup dotnet
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
- name: Install format tool
run: dotnet tool install -g dotnet-format
- name: dotnet restore
run: dotnet restore OpenTelemetry.sln
- name: dotnet format
run: dotnet-format --folder --check
run: dotnet format OpenTelemetry.sln --no-restore --verify-no-changes # Note: .proj files are currently not supported by dotnet format
env:
ExposeExperimentalFeatures: false
run-dotnet-format-experimental:
runs-on: windows-latest
steps:
- name: check out code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup dotnet
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
- name: dotnet restore
run: dotnet restore OpenTelemetry.sln
- name: dotnet format
run: dotnet format OpenTelemetry.sln --no-restore --verify-no-changes # Note: .proj files are currently not supported by dotnet format
env:
ExposeExperimentalFeatures: true

20
.github/workflows/fossa.yml vendored Normal file
View File

@ -0,0 +1,20 @@
name: FOSSA scanning
on:
push:
branches:
- main
permissions:
contents: read
jobs:
fossa:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: fossas/fossa-action@3ebcea1862c6ffbd5cf1b4d0bd6b3fe7bd6f2cac # v1.7.0
with:
api-key: ${{secrets.FOSSA_API_KEY}}
team: OpenTelemetry

View File

@ -1,56 +0,0 @@
name: Integration Tests
on:
push:
branches: [ main, metrics ]
paths-ignore:
- '**.md'
pull_request:
branches: [ main, metrics ]
paths-ignore:
- '**.md'
jobs:
redis-test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: [netcoreapp3.1,net5.0]
steps:
- uses: actions/checkout@v2
- name: Run redis docker-compose.integration
run: docker-compose --file=test/OpenTelemetry.Instrumentation.StackExchangeRedis.Tests/docker-compose.yml --file=build/docker-compose.${{ matrix.version }}.yml --project-directory=. up --exit-code-from=tests --build
sql-test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: [netcoreapp3.1,net5.0]
steps:
- uses: actions/checkout@v2
- name: Run sql docker-compose.integration
run: docker-compose --file=test/OpenTelemetry.Instrumentation.SqlClient.Tests/docker-compose.yml --file=build/docker-compose.${{ matrix.version }}.yml --project-directory=. up --exit-code-from=tests --build
w3c-trace-context-test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: [netcoreapp3.1,net5.0]
steps:
- uses: actions/checkout@v2
- name: Run W3C Trace Context docker-compose.integration
run: docker-compose --file=test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/docker-compose.yml --file=build/docker-compose.${{ matrix.version }}.yml --project-directory=. up --exit-code-from=tests --build
otlp-exporter-test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: [netcoreapp3.1,net5.0]
steps:
- uses: actions/checkout@v2
- name: Run OTLP Exporter docker-compose.integration
run: docker-compose --file=test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/docker-compose.yml --file=build/docker-compose.${{ matrix.version }}.yml --project-directory=. up --exit-code-from=tests --build

View File

@ -1,31 +0,0 @@
name: Linux
on:
push:
branches: [ main, metrics ]
paths-ignore:
- '**.md'
pull_request:
branches: [ main, metrics ]
paths-ignore:
- '**.md'
jobs:
build-test:
runs-on: ubuntu-latest
strategy:
matrix:
version: [netcoreapp3.1,net5.0]
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test ${{ matrix.version }}
run: dotnet test **/bin/**/${{ matrix.version }}/*.Tests.dll --configuration Release --no-build --logger:"console;verbosity=detailed"

View File

@ -1,25 +1,24 @@
name: markdownlint
# Called by ci.yml to perform markdown linting
# See: https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow
name: Lint - Markdown
on:
push:
branches: [ main, metrics ]
paths:
- '**.md'
pull_request:
branches: [ main, metrics ]
paths:
- '**.md'
workflow_call:
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
run-markdownlint:
runs-on: ubuntu-22.04
steps:
- name: check out code
uses: actions/checkout@v2
- name: install markdownlint-cli
run: sudo npm install -g markdownlint-cli
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: run markdownlint
run: markdownlint .
uses: DavidAnson/markdownlint-cli2-action@992badcdf24e3b8eb7e87ff9287fe931bcb00c6e # v20.0.0
with:
globs: |
**/*.md
!.github/**/*.md

47
.github/workflows/ossf-scorecard.yml vendored Normal file
View File

@ -0,0 +1,47 @@
name: OSSF Scorecard
on:
push:
branches:
- main
schedule:
- cron: "24 5 * * 0" # once a week
workflow_dispatch:
permissions: read-all
jobs:
analysis:
runs-on: ubuntu-latest
permissions:
# Needed for Code scanning upload
security-events: write
# Needed for GitHub OIDC token if publish_results is true
id-token: write
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- uses: ossf/scorecard-action@05b42c624433fc40578a4040d5cf5e36ddca8cde # v2.4.2
with:
results_file: results.sarif
results_format: sarif
publish_results: true
# Upload the results as artifacts (optional). Commenting out will disable
# uploads of run results in SARIF format to the repository Actions tab.
# https://docs.github.com/en/actions/advanced-guides/storing-workflow-data-as-artifacts
- name: "Upload artifact"
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: SARIF file
path: results.sarif
retention-days: 5
# Upload the results to GitHub's code scanning dashboard (optional).
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@2d92b76c45b91eb80fc44c74ce3fce0ee94e8f9d # v3.30.0
with:
sarif_file: results.sarif

View File

@ -0,0 +1,58 @@
# Called by ci.yml to perform package validation
# See: https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow
name: Package Validation
on:
workflow_call:
permissions:
contents: read
jobs:
run-package-validation-stable:
runs-on: windows-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
# Note: By default GitHub only fetches 1 commit. MinVer needs to find
# the version tag which is typically NOT on the first commit so we
# retrieve them all.
fetch-depth: 0
- name: Setup dotnet
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
- name: dotnet pack
run: dotnet pack ./build/OpenTelemetry.proj --configuration Release /p:EnablePackageValidation=true /p:ExposeExperimentalFeatures=false /p:RunningDotNetPack=true
- name: Publish stable NuGet packages to Artifacts
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: packages-stable
path: ./artifacts/package/release
if-no-files-found: error
run-package-validation-experimental:
runs-on: windows-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
# Note: By default GitHub only fetches 1 commit. MinVer needs to find
# the version tag which is typically NOT on the first commit so we
# retrieve them all.
fetch-depth: 0
- name: Setup dotnet
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
- name: dotnet pack
run: dotnet pack ./build/OpenTelemetry.proj --configuration Release /p:EnablePackageValidation=true /p:ExposeExperimentalFeatures=true /p:RunningDotNetPack=true
- name: Publish experimental NuGet packages to Artifacts
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: packages-experimental
path: ./artifacts/package/release
if-no-files-found: error

125
.github/workflows/post-release.yml vendored Normal file
View File

@ -0,0 +1,125 @@
name: Complete release
on:
workflow_dispatch:
inputs:
tag:
required: true
description: 'Release tag'
type: string
release:
types:
- published
issue_comment:
types:
- created
permissions:
contents: read
jobs:
automation:
uses: ./.github/workflows/automation.yml
secrets: inherit
push-packages-and-publish-release:
runs-on: ubuntu-22.04
needs: automation
if: |
github.event_name == 'issue_comment'
&& github.event.issue.pull_request
&& github.event.issue.locked == true
&& github.event.comment.user.login != needs.automation.outputs.username
&& contains(github.event.comment.body, '/PushPackages')
&& startsWith(github.event.issue.title, '[release] Prepare release ')
&& github.event.issue.pull_request.merged_at
&& needs.automation.outputs.enabled
env:
GH_TOKEN: ${{ secrets[needs.automation.outputs.token-secret-name] }}
steps:
- name: check out code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
token: ${{ secrets[needs.automation.outputs.token-secret-name] }}
ref: ${{ github.event.repository.default_branch }}
- name: Push packages and publish release
shell: pwsh
env:
NUGET_TOKEN: ${{ secrets.NUGET_TOKEN }}
run: |
Import-Module .\build\scripts\post-release.psm1
PushPackagesPublishReleaseUnlockAndPostNoticeOnPrepareReleasePullRequest `
-gitRepository '${{ github.repository }}' `
-pullRequestNumber '${{ github.event.issue.number }}' `
-botUserName '${{ needs.automation.outputs.username }}' `
-commentUserName '${{ github.event.comment.user.login }}' `
-artifactDownloadPath '${{ github.workspace }}/artifacts' `
-pushToNuget '${{ secrets.NUGET_TOKEN != '' }}'
post-release-published:
runs-on: ubuntu-22.04
needs:
- automation
if: |
needs.automation.outputs.enabled
&& (github.event_name == 'release' || github.event_name == 'workflow_dispatch')
env:
GH_TOKEN: ${{ secrets[needs.automation.outputs.token-secret-name] }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
# Note: By default GitHub only fetches 1 commit. We need all the tags
# for this work.
fetch-depth: 0
ref: ${{ github.event.repository.default_branch }}
token: ${{ secrets[needs.automation.outputs.token-secret-name] }}
- name: Setup dotnet
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
- name: Create GitHub Pull Request to update stable build version in props
if: |
(github.ref_type == 'tag' && startsWith(github.ref_name, 'core-') && !contains(github.ref_name, '-alpha') && !contains(github.ref_name, '-beta') && !contains(github.ref_name, '-rc'))
|| (inputs.tag && startsWith(inputs.tag, 'core-') && !contains(inputs.tag, '-alpha') && !contains(inputs.tag, '-beta') && !contains(inputs.tag, '-rc'))
shell: pwsh
run: |
Import-Module .\build\scripts\post-release.psm1
CreateStableVersionUpdatePullRequest `
-gitRepository '${{ github.repository }}' `
-tag '${{ inputs.tag || github.ref_name }}' `
-targetBranch '${{ github.event.repository.default_branch }}' `
-gitUserName '${{ needs.automation.outputs.username }}' `
-gitUserEmail '${{ needs.automation.outputs.email }}'
- name: Invoke core version update workflow in opentelemetry-dotnet-contrib repository
if: vars.CONTRIB_REPO
shell: pwsh
run: |
Import-Module .\build\scripts\post-release.psm1
InvokeCoreVersionUpdateWorkflowInRemoteRepository `
-remoteGitRepository '${{ vars.CONTRIB_REPO }}' `
-tag '${{ inputs.tag || github.ref_name }}'
- name: Post notice when release is published
shell: pwsh
run: |
Import-Module .\build\scripts\post-release.psm1
TryPostReleasePublishedNoticeOnPrepareReleasePullRequest `
-gitRepository '${{ github.repository }}' `
-botUserName '${{ needs.automation.outputs.username }}' `
-tag '${{ inputs.tag || github.ref_name }}'

214
.github/workflows/prepare-release.yml vendored Normal file
View File

@ -0,0 +1,214 @@
name: Prepare for a release
on:
workflow_dispatch:
inputs:
tag-prefix:
type: choice
options:
- core-
- coreunstable-
description: 'Release tag prefix'
required: true
version:
type: string
description: 'Release version'
required: true
pull_request:
types:
- closed
issue_comment:
types:
- created
permissions:
contents: read
jobs:
automation:
uses: ./.github/workflows/automation.yml
secrets: inherit
prepare-release-pr:
runs-on: ubuntu-22.04
needs: automation
if: github.event_name == 'workflow_dispatch' && needs.automation.outputs.enabled
env:
GH_TOKEN: ${{ secrets[needs.automation.outputs.token-secret-name] }}
steps:
- name: check out code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
token: ${{ secrets[needs.automation.outputs.token-secret-name] }}
- name: Create GitHub Pull Request to prepare release
shell: pwsh
run: |
Import-Module .\build\scripts\prepare-release.psm1
CreatePullRequestToUpdateChangelogsAndPublicApis `
-gitRepository '${{ github.repository }}' `
-minVerTagPrefix '${{ inputs.tag-prefix }}' `
-version '${{ inputs.version }}' `
-requestedByUserName '${{ github.event.sender.login }}' `
-targetBranch '${{ github.ref_name }}' `
-gitUserName '${{ needs.automation.outputs.username }}' `
-gitUserEmail '${{ needs.automation.outputs.email }}'
lock-pr-and-post-notice-to-create-release-tag:
runs-on: ubuntu-22.04
needs: automation
if: |
github.event_name == 'pull_request'
&& github.event.action == 'closed'
&& github.event.pull_request.user.login == needs.automation.outputs.username
&& github.event.pull_request.merged == true
&& startsWith(github.event.pull_request.title, '[release] Prepare release ')
&& needs.automation.outputs.enabled
env:
GH_TOKEN: ${{ secrets[needs.automation.outputs.token-secret-name] }}
steps:
- name: check out code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
token: ${{ secrets[needs.automation.outputs.token-secret-name] }}
- name: Lock GitHub Pull Request to prepare release
shell: pwsh
run: |
Import-Module .\build\scripts\prepare-release.psm1
LockPullRequestAndPostNoticeToCreateReleaseTag `
-gitRepository '${{ github.repository }}' `
-pullRequestNumber '${{ github.event.pull_request.number }}' `
-botUserName '${{ needs.automation.outputs.username }}'
create-release-tag-pr-post-notice:
runs-on: ubuntu-22.04
needs: automation
if: |
github.event_name == 'issue_comment'
&& github.event.issue.pull_request
&& github.event.issue.locked == true
&& github.event.comment.user.login != needs.automation.outputs.username
&& contains(github.event.comment.body, '/CreateReleaseTag')
&& startsWith(github.event.issue.title, '[release] Prepare release ')
&& github.event.issue.pull_request.merged_at
&& needs.automation.outputs.enabled
env:
GH_TOKEN: ${{ secrets[needs.automation.outputs.token-secret-name] }}
steps:
- name: check out code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
# Note: By default GitHub only fetches 1 commit which fails the git tag operation below
fetch-depth: 0
token: ${{ secrets[needs.automation.outputs.token-secret-name] }}
- name: Create release tag
id: create-tag
shell: pwsh
run: |
Import-Module .\build\scripts\prepare-release.psm1
CreateReleaseTagAndPostNoticeOnPullRequest `
-gitRepository '${{ github.repository }}' `
-pullRequestNumber '${{ github.event.issue.number }}' `
-botUserName '${{ needs.automation.outputs.username }}' `
-gitUserName '${{ needs.automation.outputs.username }}' `
-gitUserEmail '${{ needs.automation.outputs.email }}'
update-changelog-release-dates-on-prepare-pr-post-notice:
runs-on: ubuntu-22.04
needs: automation
if: |
github.event_name == 'issue_comment'
&& github.event.issue.pull_request
&& github.event.issue.state == 'open'
&& github.event.comment.user.login != needs.automation.outputs.username
&& contains(github.event.comment.body, '/UpdateReleaseDates')
&& startsWith(github.event.issue.title, '[release] Prepare release ')
&& github.event.issue.pull_request.merged_at == null
&& needs.automation.outputs.enabled
env:
GH_TOKEN: ${{ secrets[needs.automation.outputs.token-secret-name] }}
steps:
- name: check out code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
# Note: By default GitHub only fetches 1 commit which fails the git tag operation below
fetch-depth: 0
token: ${{ secrets[needs.automation.outputs.token-secret-name] }}
- name: Update release date
shell: pwsh
run: |
Import-Module .\build\scripts\prepare-release.psm1
UpdateChangelogReleaseDatesAndPostNoticeOnPullRequest `
-gitRepository '${{ github.repository }}' `
-pullRequestNumber '${{ github.event.issue.number }}' `
-botUserName '${{ needs.automation.outputs.username }}' `
-commentUserName '${{ github.event.comment.user.login }}' `
-gitUserName '${{ needs.automation.outputs.username }}' `
-gitUserEmail '${{ needs.automation.outputs.email }}'
update-releasenotes-on-prepare-pr-post-notice:
runs-on: ubuntu-22.04
needs: automation
if: |
github.event_name == 'issue_comment'
&& github.event.issue.pull_request
&& github.event.issue.state == 'open'
&& github.event.comment.user.login != needs.automation.outputs.username
&& contains(github.event.comment.body, '/UpdateReleaseNotes')
&& startsWith(github.event.issue.title, '[release] Prepare release ')
&& github.event.issue.pull_request.merged_at == null
&& needs.automation.outputs.enabled
env:
GH_TOKEN: ${{ secrets[needs.automation.outputs.token-secret-name] }}
steps:
- name: check out code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
# Note: By default GitHub only fetches 1 commit which fails the git tag operation below
fetch-depth: 0
token: ${{ secrets[needs.automation.outputs.token-secret-name] }}
- name: Update release notes
env:
COMMENT_BODY: ${{ github.event.comment.body }}
shell: pwsh
run: |
Import-Module .\build\scripts\prepare-release.psm1
UpdateReleaseNotesAndPostNoticeOnPullRequest `
-gitRepository '${{ github.repository }}' `
-pullRequestNumber '${{ github.event.issue.number }}' `
-botUserName '${{ needs.automation.outputs.username }}' `
-commentUserName '${{ github.event.comment.user.login }}' `
-commentBody $Env:COMMENT_BODY `
-gitUserName '${{ needs.automation.outputs.username }}' `
-gitUserEmail '${{ needs.automation.outputs.email }}'

View File

@ -5,49 +5,143 @@
################### IMPORTANT ###################
#################################################
name: Pack and publish to Myget
name: Build, pack, and publish to MyGet
on:
workflow_dispatch:
inputs:
logLevel:
description: 'Log level'
required: true
default: 'warning'
push:
tags:
- 'core-*'
- 'coreunstable-*'
schedule:
- cron: '0 0 * * *' # once in a day at 00:00
jobs:
build-pack:
runs-on: ${{ matrix.os }}
permissions:
contents: read
strategy:
matrix:
os: [windows-latest]
branches: [main]
jobs:
automation:
uses: ./.github/workflows/automation.yml
secrets: inherit
build-pack-publish:
runs-on: windows-latest
permissions:
contents: read
id-token: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COSIGN_YES: "yes"
outputs:
artifact-url: ${{ steps.upload-artifacts.outputs.artifact-url }}
artifact-id: ${{ steps.upload-artifacts.outputs.artifact-id }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0 # fetching all
ref: ${{ matrix.branches }}
# Note: By default GitHub only fetches 1 commit. MinVer needs to find
# the version tag which is typically NOT on the first commit so we
# retrieve them all.
fetch-depth: 0
- name: Install dependencies
run: dotnet restore
- name: Setup dotnet
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
- name: Install Cosign
uses: sigstore/cosign-installer@d58896d6a1865668819e1d91763c7751a165e159 # v3.9.2
with:
cosign-release: v2.5.3
- name: dotnet restore
run: dotnet restore ./build/OpenTelemetry.proj -p:RunningDotNetPack=true
- name: dotnet build
run: dotnet build --configuration Release --no-restore -p:Deterministic=true -p:BuildNumber=${{ github.run_number }}
run: dotnet build ./build/OpenTelemetry.proj --configuration Release --no-restore -p:Deterministic=true -p:BuildNumber=${{ github.run_number }} -p:RunningDotNetPack=true
- name: Sign DLLs with Cosign Keyless
shell: pwsh
run: |
$projectFiles = Get-ChildItem -Path src/*/*.csproj -File
foreach ($projectFile in $projectFiles) {
$projectName = [System.IO.Path]::GetFileNameWithoutExtension($projectFile)
Get-ChildItem -Path artifacts/bin/$projectName/release_*/$projectName.dll -File | ForEach-Object {
$fileFullPath = $_.FullName
Write-Host "Signing $fileFullPath"
cosign.exe sign-blob $fileFullPath --yes --output-signature $fileFullPath-keyless.sig --output-certificate $fileFullPath-keyless.pem
}
}
- name: dotnet pack
run: dotnet pack OpenTelemetry.proj --configuration Release --no-build
run: dotnet pack ./build/OpenTelemetry.proj --configuration Release --no-restore --no-build -p:PackTag=${{ github.ref_type == 'tag' && github.ref_name || '' }}
- name: Publish Artifacts
uses: actions/upload-artifact@v2
id: upload-artifacts
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: ${{ matrix.os }}-packages
path: '**/bin/**/*.*nupkg'
name: ${{ github.ref_name }}-packages
path: ./artifacts/package/release
if-no-files-found: error
- name: Publish MyGet
env:
MYGET_TOKEN_EXISTS: ${{ secrets.MYGET_TOKEN != '' }}
if: env.MYGET_TOKEN_EXISTS == 'true' # Skip MyGet publish if run on a fork without the secret
run: |
nuget setApiKey ${{ secrets.MYGET_TOKEN }} -Source https://www.myget.org/F/opentelemetry/api/v2/package
nuget push **/bin/**/*.nupkg -Source https://www.myget.org/F/opentelemetry/api/v2/package
nuget push ./artifacts/package/release/*.nupkg -Source https://www.myget.org/F/opentelemetry/api/v2/package
post-build:
runs-on: ubuntu-22.04
needs:
- automation
- build-pack-publish
if: needs.automation.outputs.enabled && github.event_name == 'push'
env:
GH_TOKEN: ${{ secrets[needs.automation.outputs.token-secret-name] }}
steps:
- name: check out code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
token: ${{ secrets[needs.automation.outputs.token-secret-name] }}
- name: Download Artifacts
run: |
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token ${{ github.token }}" \
-L \
-o '${{ github.workspace }}/artifacts/${{ github.ref_name }}-packages.zip' \
--create-dirs \
"https://api.github.com/repos/${{ github.repository }}/actions/artifacts/${{ needs.build-pack-publish.outputs.artifact-id }}/zip"
- name: Create GitHub Release draft
shell: pwsh
run: |
Import-Module .\build\scripts\post-release.psm1
CreateDraftRelease `
-gitRepository '${{ github.repository }}' `
-tag '${{ github.ref_name }}' `
-releaseFiles '${{ github.workspace }}/artifacts/${{ github.ref_name }}-packages.zip#Packages'
- name: Post notice when packages are ready
shell: pwsh
run: |
Import-Module .\build\scripts\post-release.psm1
TryPostPackagesReadyNoticeOnPrepareReleasePullRequest `
-gitRepository '${{ github.repository }}' `
-tag '${{ github.ref_name }}' `
-tagSha '${{ github.sha }}' `
-packagesUrl '${{ needs.build-pack-publish.outputs.artifact-url }}' `
-botUserName '${{ needs.automation.outputs.username }}'

View File

@ -1,18 +1,20 @@
name: sanitycheck
# Called by ci.yml to perform general linting
# See: https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow
name: Lint - Spelling & Encoding
on:
push:
branches: [ main, metrics ]
pull_request:
branches: [ main, metrics ]
workflow_call:
permissions:
contents: read
jobs:
misspell:
runs-on: ubuntu-latest
run-misspell:
runs-on: ubuntu-22.04
steps:
- name: check out code
uses: actions/checkout@v2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: install misspell
run: |
@ -22,12 +24,12 @@ jobs:
- name: run misspell
run: ./bin/misspell -error .
encoding:
runs-on: ubuntu-latest
run-sanitycheck:
runs-on: ubuntu-22.04
steps:
- name: check out code
uses: actions/checkout@v2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: detect non-ASCII encoding and trailing space
run: python3 ./build/sanitycheck.py
run: python3 ./build/scripts/sanitycheck.py

32
.github/workflows/stale.yml vendored Normal file
View File

@ -0,0 +1,32 @@
# Syntax: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
# Github Actions Stale: https://github.com/actions/stale
name: "Manage stale issues and pull requests"
on:
schedule:
- cron: "12 3 * * *" # arbitrary time not to DDOS GitHub
permissions:
contents: read
jobs:
stale:
permissions:
issues: write # for actions/stale to close stale issues
pull-requests: write # for actions/stale to close stale PRs
runs-on: ubuntu-22.04
steps:
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0
with:
stale-issue-message: 'This issue was marked stale due to lack of activity and will be closed in 7 days. Commenting will instruct the bot to automatically remove the label. This bot runs once per day.'
close-issue-message: 'Closed as inactive. Feel free to reopen if this issue is still a concern.'
stale-pr-message: 'This PR was marked stale due to lack of activity and will be closed in 7 days. Commenting or pushing will instruct the bot to automatically remove the label. This bot runs once per day.'
close-pr-message: 'Closed as inactive. Feel free to reopen if this PR is still being worked on.'
operations-per-run: 400
days-before-pr-stale: 7
days-before-issue-stale: 300
days-before-pr-close: 7
days-before-issue-close: 7
exempt-all-issue-milestones: true
exempt-issue-labels: 'keep-open,needs-triage'
exempt-pr-labels: 'keep-open'

29
.github/workflows/verifyaotcompat.yml vendored Normal file
View File

@ -0,0 +1,29 @@
# Called by ci.yml to perform AOT validation
# See: https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow
name: Publish & Verify AOT Compatibility
on:
workflow_call:
permissions:
contents: read
jobs:
run-verify-aot-compat:
strategy:
fail-fast: false # ensures the entire test matrix is run, even if one permutation fails
matrix:
os: [ ubuntu-22.04, windows-latest ]
version: [ net8.0, net9.0 ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup dotnet
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
- name: publish AOT testApp, assert static analysis warning count, and run the app
shell: pwsh
run: .\build\scripts\test-aot-compatibility.ps1 ${{ matrix.version }}

View File

@ -1,31 +0,0 @@
name: Windows
on:
push:
branches: [ main, metrics ]
paths-ignore:
- '**.md'
pull_request:
branches: [ main, metrics ]
paths-ignore:
- '**.md'
jobs:
build-test:
runs-on: windows-latest
strategy:
matrix:
version: [net461,netcoreapp3.1,net5.0]
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test ${{ matrix.version }}
run: dotnet test **\bin\**\${{ matrix.version }}\*Tests.dll --configuration Release --no-build --logger:"console;verbosity=detailed"

21
.gitignore vendored
View File

@ -8,7 +8,6 @@
*.user
*.userosscache
*.sln.docstates
.vscode/
.devcontainer/
# User-specific files (MonoDevelop/Xamarin Studio)
@ -22,6 +21,7 @@
x64/
x86/
bld/
[Aa]rtifacts/
[Bb]in/
[Oo]bj/
[Ll]og/
@ -142,6 +142,10 @@ _TeamCity*
*.coverage
*.coveragexml
# Visual Studio live unit testing config
*.lutconfig
*.lutignore
# NCrunch
_NCrunch_*
.*crunch*.local.xml
@ -227,7 +231,7 @@ ClientBin/
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
@ -326,7 +330,7 @@ __pycache__/
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
@ -335,10 +339,19 @@ ASALocalRun/
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# SonarQube folder
/.sonarqube
/src/LastMajorVersionBinaries
# Tempo files
tempo-data/
# Coyote Rewrite Files
rewrite.coyote.json
# Test results
TestResults/

15
.markdownlint.yaml Normal file
View File

@ -0,0 +1,15 @@
# Default state for all rules
default: true
# MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md013.md
MD013:
code_blocks: false
tables: false
# MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md033.md
MD033:
# Allowed elements
allowed_elements: [ 'details', 'summary' ]
# MD059/link-text-should-be-descriptive : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md059.md
MD059: false

8
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,8 @@
{
"recommendations": [
"editorconfig.editorconfig",
"davidanson.vscode-markdownlint",
"ms-dotnettools.csharp",
"streetsidesoftware.code-spell-checker"
]
}

59
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,59 @@
{
"cSpell.words": [
"appsettings",
"asax",
"bankwar",
"cijo",
"cncf",
"codebases",
"codecov",
"contoso",
"cref",
"Gantt",
"grafana",
"ilogger",
"inheritdoc",
"janotti",
"kanzhelev",
"langword",
"liudmila",
"loglevel",
"mikel",
"molkova",
"monocytogenes",
"nakamura",
"netcoreapp",
"netfx",
"netstandard",
"nupkg",
"oneof",
"opentelemetry",
"otel",
"otlp",
"paulo",
"pillai",
"proto",
"protobuf",
"protos",
"reiley",
"rpcz",
"ruleset",
"runtimes",
"sergey",
"struct",
"tbody",
"thead",
"tracestate",
"Tracestate",
"triager",
"typeparam",
"ulong",
"umesan",
"unencrypted",
"unvalidated",
"utkarsh",
"vishwesh",
"xunit",
"zipkin"
]
}

40
.vscode/tasks.json vendored Normal file
View File

@ -0,0 +1,40 @@
{
"tasks": [
{
"args": [
"build",
"${workspaceFolder}/OpenTelemetry.sln",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"command": "dotnet",
"group": {
"isDefault": true,
"kind": "build"
},
"label": "build",
"presentation": {
"reveal": "silent"
},
"problemMatcher": "$msCompile",
"type": "shell"
},
{
"args": [
"test",
"${workspaceFolder}/OpenTelemetry.sln",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"command": "dotnet",
"group": {
"isDefault": true,
"kind": "test"
},
"label": "test",
"problemMatcher": "$msCompile",
"type": "process"
}
],
"version": "2.0.0"
}

View File

@ -10,16 +10,39 @@ for a summary description of past meetings. To request edit access, join the
meeting or get in touch on
[Slack](https://cloud-native.slack.com/archives/C01N3BC2W7Q).
Even though, anybody can contribute, there are benefits of being a member of our
community. See to the [community membership
Anyone may contribute but there are benefits of being a member of our community.
See the [community membership
document](https://github.com/open-telemetry/community/blob/main/community-membership.md)
on how to become a
[**Member**](https://github.com/open-telemetry/community/blob/main/community-membership.md#member),
[**Approver**](https://github.com/open-telemetry/community/blob/main/community-membership.md#approver)
[**Member**](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#member),
[**Triager**](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#triager),
[**Approver**](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#approver),
and
[**Maintainer**](https://github.com/open-telemetry/community/blob/main/community-membership.md#maintainer).
[**Maintainer**](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#maintainer).
## Find a Buddy and Get Started Quickly
## Give feedback
We are always looking for your feedback.
You can do this by [submitting a GitHub issue](https://github.com/open-telemetry/opentelemetry-dotnet/issues/new).
You may also prefer writing on [#otel-dotnet Slack channel](https://cloud-native.slack.com/archives/C01N3BC2W7Q).
### Report a bug
Reporting bugs is an important contribution. Please make sure to include:
* Expected and actual behavior;
* OpenTelemetry, OS, and .NET versions you are using;
* Steps to reproduce;
* [Minimal, reproducible example](https://stackoverflow.com/help/minimal-reproducible-example).
### Request a feature
If you would like to work on something that is not listed as an issue
(e.g. a new feature or enhancement) please create an issue and describe your proposal.
## Find a buddy and get started quickly
If you are looking for someone to help you find a starting point and be a
resource for your first contribution, join our Slack channel and find a buddy!
@ -34,69 +57,129 @@ resource for your first contribution, join our Slack channel and find a buddy!
Your OpenTelemetry buddy is your resource to talk to directly on all aspects of
contributing to OpenTelemetry: providing context, reviewing PRs, and helping
those get merged. Buddies will not be available 24/7, but is committed to
responding during their normal contribution hours.
those get merged. Buddies will not be available 24/7, but are committed to
responding during their normal working hours.
## Development Environment
You can contribute to this project from a Windows, macOS or Linux machine.
You can contribute to this project from a Windows, macOS, or Linux machine.
On all platforms, the minimum requirements are:
* Git client and command line tools.
* .NET Core 3.1+
* Git client and command line tools
* [.NET SDK (latest stable version)](https://dotnet.microsoft.com/download)
> [!NOTE]
> At times a pre-release version of the .NET SDK may be required to build code
in this repository. Check
[global.json](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/global.json)
to verify the current required version.
### Linux or MacOS
* Visual Studio for Mac or Visual Studio Code
* Visual Studio 2022+ for Mac or Visual Studio Code
Mono might be required by your IDE but is not required by this project. This is
because unit tests targeting .NET Framework (i.e: `net46`) are disabled outside
because unit tests targeting .NET Framework (i.e: `net462`) are disabled outside
of Windows.
### Windows
* Visual Studio 2017+ or Visual Studio Code
* .NET Framework 4.6+
* Visual Studio 2022+ or Visual Studio Code
* .NET Framework 4.6.2+
### Public API
## Public API validation
It is critical to keep public API surface small and clean. This repository is
using `Microsoft.CodeAnalysis.PublicApiAnalyzers` to validate the public APIs.
This analyzer will check if you changed a public property/method so the change
will be easily spotted in pull request. It will also ensure that OpenTelemetry
doesn't expose APIs outside of the library primary concerns like a generic
helper methods.
It is critical to **NOT** make breaking changes to public APIs which have been
released in stable builds. We also strive to keep a minimal public API surface.
This repository is using
[Microsoft.CodeAnalysis.PublicApiAnalyzers](https://github.com/dotnet/roslyn-analyzers/blob/main/src/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)
and [Package
validation](https://learn.microsoft.com/dotnet/fundamentals/apicompat/package-validation/overview)
to validate public APIs.
#### How to enable and configure
* `Microsoft.CodeAnalysis.PublicApiAnalyzers` will validate public API
changes/additions against a set of "public API files" which capture the
shipped/unshipped public APIs. These files must be maintained manually (not
recommended) or by using tooling/code fixes built into the package (see below
for details).
* Create a folder in your project called `.publicApi` with the frameworks that
as folders you target.
* Create two files called `PublicAPI.Shipped.txt` and `PublicAPI.Unshipped.txt`
in each framework that you target.
* Add the following lines to your csproj:
Public API files are also used to perform public API reviews by repo
approvers/maintainers before releasing stable builds.
```xml
<ItemGroup>
<AdditionalFiles
Include=".publicApi\$(TargetFramework)\PublicAPI.Shipped.txt" />
<AdditionalFiles
Include=".publicApi\$(TargetFramework)\PublicAPI.Unshipped.txt" />
</ItemGroup>
```
* `Package validation` will validate public API changes/additions against
previously released NuGet packages.
* Use
[IntelliSense](https://docs.microsoft.com/visualstudio/ide/using-intellisense)
to update the publicApi files.
This is performed automatically by the build/CI
[package-validation](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/.github/workflows/package-validation.yml)
workflow.
By default package validation is **NOT** run for local builds. To enable
package validation in local builds set the `EnablePackageValidation` property
to `true` in
[Common.prod.props](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/build/Common.prod.props)
(please do not check in this change).
### Working with Microsoft.CodeAnalysis.PublicApiAnalyzers
#### Update public API files when writing code
[IntelliSense](https://docs.microsoft.com/visualstudio/ide/using-intellisense)
will [suggest
modifications](https://github.com/dotnet/roslyn-analyzers/issues/3322#issuecomment-591031429)
to the `PublicAPI.Unshipped.txt` file when you make changes. After reviewing
these changes, ensure they are reflected across all targeted frameworks. You can
do this by:
* Using the "Fix all occurrences in Project" feature in Visual Studio.
* Manually cycling through each framework using Visual Studio's target framework
dropdown (in the upper right corner) and applying the IntelliSense
suggestions.
> [!IMPORTANT]
> Do **NOT** modify `PublicAPI.Shipped.txt` files. New features and bug fixes
**SHOULD** only require changes to `PublicAPI.Unshipped.txt` files. If you
have to modify a "shipped" file it likely means you made a mistake and broke a
stable API. Typically only maintainers modify the `PublicAPI.Shipped.txt` file
while performing stable releases. If you need help reach out to an approver or
maintainer on Slack or open a draft PR.
#### Enable public API validation in new projects
1. If you are **NOT** using experimental APIs:
* If your API is the same across all target frameworks:
* You only need two files: `.publicApi/PublicAPI.Shipped.txt` and
`.publicApi/PublicAPI.Unshipped.txt`.
* If your APIs differ between target frameworks:
* Place the shared APIs in `.publicApi/PublicAPI.Shipped.txt` and
`.publicApi/PublicAPI.Unshipped.txt`.
* Create framework-specific files for API differences (e.g.,
`.publicApi/net462/PublicAPI.Shipped.txt` and
`.publicApi/net462/PublicAPI.Unshipped.txt`).
2. If you are using experimental APIs:
* Follow the rules above, but create an additional layer in your folder
structure:
* For stable APIs: `.publicApi/Stable/*`.
* For experimental APIs: `.publicApi/Experimental/*`.
* The `Experimental` folder should contain APIs that are public only in
pre-release builds. Typically the `Experimental` folder only contains
`PublicAPI.Unshipped.txt` files as experimental APIs are never shipped
stable.
Example folder structure can be found
[here](https://github.com/open-telemetry/opentelemetry-dotnet/tree/main/src/OpenTelemetry.Api/.publicApi).
## Pull Requests
### How to Send Pull Requests
### How to create pull requests
Everyone is welcome to contribute code to `opentelemetry-dotnet` via GitHub pull
requests (PRs).
To create a new PR, fork the project in GitHub and clone the upstream repo:
To create a new PR, fork the project on GitHub and clone the upstream repo:
```sh
git clone https://github.com/open-telemetry/opentelemetry-dotnet.git
@ -114,14 +197,6 @@ Add your fork as an origin:
git remote add fork https://github.com/YOUR_GITHUB_USERNAME/opentelemetry-dotnet.git
```
By default your work will be targeting the `main` branch. If you want to work on
the experimental metrics feature, please switch to the `metrics` feature branch:
```sh
# only do this when you want to work on the experimental metrics feature
git checkout metrics
```
Run tests:
```sh
@ -135,7 +210,7 @@ If you made changes to the Markdown documents (`*.md` files), install the latest
markdownlint .
```
Check out a new branch, make modifications and push the branch to your fork:
Check out a new branch, make modifications, and push the branch to your fork:
```sh
$ git checkout -b feature
@ -146,20 +221,26 @@ $ git push fork feature
Open a pull request against the main `opentelemetry-dotnet` repo.
### How to Receive Comments
#### Tips and best practices for pull requests
* If the PR is not ready for review, please mark it as
[`draft`](https://github.blog/2019-02-14-introducing-draft-pull-requests/).
* Make sure CLA is signed and all required CI checks are clear.
* Submit small, focused PRs addressing a single
concern/issue.
* Submit small, focused PRs addressing a single concern/issue.
* Make sure the PR title reflects the contribution.
* Write a summary that helps understand the change.
* Include usage examples in the summary, where applicable.
* Include benchmarks (before/after) in the summary, for contributions that are
performance enhancements.
* We are open to bot generated PRs or AI/LLM assisted PRs. Actually, we are
using
[dependabot](https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates)
to automate the security updates. However, if you use bots to generate spam
PRs (e.g. incorrect, noisy, non-improvements, unintelligible, trying to sell
your product, etc.), we might close the PR right away with a warning, and if
you keep doing so, we might block your user account.
### How to Get PRs Merged
### How to get pull requests merged
A PR is considered to be **ready to merge** when:
@ -167,18 +248,21 @@ A PR is considered to be **ready to merge** when:
[Approvers](https://github.com/open-telemetry/community/blob/main/community-membership.md#approver).
/
[Maintainers](https://github.com/open-telemetry/community/blob/main/community-membership.md#maintainer).
* Major feedbacks are resolved.
* Major feedback/comments are resolved.
* It has been open for review for at least one working day. This gives people
reasonable time to review.
* Trivial change (typo, cosmetic, doc, etc.) doesn't have to wait for one day.
* Urgent fix can take exception as long as it has been actively communicated.
* Trivial change (typo, cosmetic, doc, etc.) doesn't have to wait for one day.
* Urgent fix can take exception as long as it has been actively communicated.
Any Maintainer can merge the PR once it is **ready to merge**. Note, that some
PR may not be merged immediately if repo is being in process of a major release
and the new feature doesn't fit it.
Any maintainer can merge PRs once they are **ready to merge** however
maintainers might decide to wait on merging changes until there are more
approvals and/or dicussion, or based on other factors such as release timing and
risk to users. For example if a stable release is planned and a new change is
introduced adding public API(s) or behavioral changes it might be held until the
next alpha/beta release.
If a PR has been stuck (e.g. there are lots of debates and people couldn't agree
on each other), the owner should try to get people aligned by:
If a PR has become stuck (e.g. there is a lot of debate and people couldn't
agree on the direction), the owner should try to get people aligned by:
* Consolidating the perspectives and putting a summary in the PR. It is
recommended to add a link into the PR description, which points to a comment
@ -193,7 +277,7 @@ on each other), the owner should try to get people aligned by:
the owner should bring it to the OpenTelemetry .NET SIG
[meeting](README.md#contributing).
## Design Choices
## Design choices
As with other OpenTelemetry clients, opentelemetry-dotnet follows the
[opentelemetry-specification](https://github.com/open-telemetry/opentelemetry-specification).
@ -201,7 +285,7 @@ As with other OpenTelemetry clients, opentelemetry-dotnet follows the
It's especially valuable to read through the [library
guidelines](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/library-guidelines.md).
### Focus on Capabilities, Not Structure Compliance
### Focus on capabilities not structural compliance
OpenTelemetry is an evolving specification, one where the desires and use cases
are clear, but the method to satisfy those uses cases are not.
@ -215,12 +299,57 @@ than conform to specific API names or argument patterns in the spec.
For a deeper discussion, see [this spec
issue](https://github.com/open-telemetry/opentelemetry-specification/issues/165).
## Style Guide
## Style guide
This project includes a [`.editorconfig`](./.editorconfig) file which is
supported by all the IDEs/editor mentioned above. It works with the IDE/editor
supported by all the IDEs/editors mentioned above. It works with the IDE/editor
only and does not affect the actual build of the project.
This repository also includes stylecop ruleset files under the `./build` folder.
This repository also includes StyleCop ruleset files under the `./build` folder.
These files are used to configure the _StyleCop.Analyzers_ which runs during
build. Breaking the rules will result in a build failure.
## New projects
New projects are required to:
* Use [nullable reference
types](https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/nullable-reference-types).
This should be enabled automatically via
[Common.props](https://github.com/open-telemetry/opentelemetry-dotnet/blob/990deee419ab4c1449efd628bed3df57a50963a6/build/Common.props#L9).
New project MUST NOT disable this.
* Pass [static
analysis](https://learn.microsoft.com/dotnet/fundamentals/code-analysis/overview).
> [!NOTE]
> There are other project-level features enabled automatically via
[Common.props](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/build/Common.props)
new projects must NOT manually override these settings.
## License requirements
OpenTelemetry .NET is licensed under the [Apache License, Version
2.0](./LICENSE.TXT).
### Copying files from other projects
OpenTelemetry .NET uses some files from other projects, typically where a binary
distribution does not exist or would be inconvenient.
The following rules must be followed for PRs that include files from another
project:
* The license of the file is
[permissive](https://en.wikipedia.org/wiki/Permissive_free_software_licence).
* The license of the file is left intact.
* The contribution is correctly attributed in the [3rd party
notices](./THIRD-PARTY-NOTICES.TXT) file in the repository, as needed.
See
[EnvironmentVariablesExtensions.cs](./src/Shared/EnvironmentVariables/EnvironmentVariablesExtensions.cs)
for an example of a file copied from another project and attributed in the [3rd
party notices](./THIRD-PARTY-NOTICES.TXT) file.

6
Directory.Build.props Normal file
View File

@ -0,0 +1,6 @@
<Project>
<PropertyGroup>
<ArtifactsPath>$([System.IO.Path]::Combine('$(MSBuildThisFileDirectory)', 'artifacts'))</ArtifactsPath>
<UseArtifactsOutput>true</UseArtifactsOutput>
</PropertyGroup>
</Project>

128
Directory.Packages.props Normal file
View File

@ -0,0 +1,128 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<OTelLatestStableVer>1.12.0</OTelLatestStableVer>
<!--
This is typically the latest annual release of .NET. Use this wherever
possible and only deviate (use a specific version) when a package has a
more specific patch which must be reference directly.
-->
<LatestRuntimeOutOfBandVer>9.0.0</LatestRuntimeOutOfBandVer>
<!-- Mitigate https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-43485. -->
<SystemTextEncodingsWebOutOfBandMinimumCoreAppVer>8.0.0</SystemTextEncodingsWebOutOfBandMinimumCoreAppVer>
<SystemTextJsonOutOfBandMinimumCoreAppVer>8.0.5</SystemTextJsonOutOfBandMinimumCoreAppVer>
</PropertyGroup>
<!--
This section covers packages that are directly referenced by the NuGet packages published from this repository.
Any security vulnerability in these packages or their downstream dependencies will be considered as a security
vulnerability in the NuGet packages that are published from this repository.
-->
<ItemGroup>
<!--
Typically, for the Microsoft.Extensions.* packages relating to DI Abstractions, Hosting Abstractions, and Logging,
the latest stable version should be used because:
1) Each major version bump will have some new API capabilities (e.g.For Logging, .NET 6 introduced compile-time logging
source generation, .NET 8 introduced automatic event id generation).
2) Each minor version bump is normally security hotfixes or critical bug fixes.
3) Since version 3.1.0, the .NET runtime team is holding a high bar for backward compatibility on
these packages even during major version bumps, so compatibility is not a concern here.
-->
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="$(LatestRuntimeOutOfBandVer)" />
<PackageVersion Include="Microsoft.Extensions.Diagnostics.Abstractions" Version="$(LatestRuntimeOutOfBandVer)" />
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="$(LatestRuntimeOutOfBandVer)" />
<PackageVersion Include="Microsoft.Extensions.Logging.Configuration" Version="$(LatestRuntimeOutOfBandVer)" />
<!--
OTel packages always point to latest stable release.
-->
<PackageVersion Include="OpenTelemetry" Version="[$(OTelLatestStableVer),2.0)" />
<PackageVersion Include="OpenTelemetry.Api" Version="[$(OTelLatestStableVer),2.0)" />
<PackageVersion Include="OpenTelemetry.Api.ProviderBuilderExtensions" Version="[$(OTelLatestStableVer),2.0)" />
<PackageVersion Include="OpenTelemetry.Exporter.InMemory" Version="[$(OTelLatestStableVer),2.0)" />
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="[$(OTelLatestStableVer),2.0)" />
<PackageVersion Include="OpenTelemetry.Extensions.Propagators" Version="[$(OTelLatestStableVer),2.0)" />
<PackageVersion Include="OpenTracing" Version="[0.12.1,0.13)" />
<!--
Typically, the latest stable version of System.Diagnostics.DiagnosticSource should be used here because:
1) Each major version bump will likely have some new OpenTelemetry capabilities (e.g. .NET 6 introduced Meter
API, .NET 7 added UpDownCounter, .NET 8 added Meter/Instrument level attributes support, .NET 9 added
Advice/Hint API, etc.).
2) Each minor version bump is normally security hotfixes or critical bug fixes.
3) The .NET runtime team provides extra backward compatibility guarantee to System.Diagnostics.DiagnosticSource
even during major version bumps, so compatibility is not a concern here.
-->
<PackageVersion Include="System.Diagnostics.DiagnosticSource" Version="$(LatestRuntimeOutOfBandVer)" />
</ItemGroup>
<ItemGroup>
<!--
Note: See TargetFrameworksRequiringSystemTextJsonDirectReference for the
list of targets where System.Text.Json direct reference is applied.
-->
<!--
We use conservative versions of these packages for older runtimes where
an upgrade might introduce breaking changes. For example see:
https://devblogs.microsoft.com/dotnet/system-text-json-in-dotnet-7/#breaking-changes.
-->
<PackageVersion Include="System.Text.Encodings.Web" Version="4.7.2" />
<PackageVersion Include="System.Text.Json" Version="4.7.2" />
<!-- Newer NETCoreApp runtimes need to be redirected to safe versions. -->
<PackageVersion Update="System.Text.Encodings.Web" Version="$(SystemTextEncodingsWebOutOfBandMinimumCoreAppVer)" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" />
<PackageVersion Update="System.Text.Json" Version="$(SystemTextJsonOutOfBandMinimumCoreAppVer)" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" />
</ItemGroup>
<!--
This section covers packages that are **not** directly referenced by the NuGet packages published from this repository.
These packages are referenced as "PrivateAssets" or used in tests/examples.
-->
<ItemGroup>
<PackageVersion Include="BenchmarkDotNet" Version="0.15.2" />
<PackageVersion Include="CommandLineParser" Version="[2.9.1,3.0)" />
<PackageVersion Include="GitHubActionsTestLogger" Version="2.4.1" />
<PackageVersion Include="Grpc.AspNetCore" Version="[2.59.0,3.0)" />
<PackageVersion Include="Grpc.AspNetCore.Server" Version="[2.59.0, 3.0)" />
<PackageVersion Include="Grpc.Tools" Version="[2.59.0,3.0)" />
<PackageVersion Include="Google.Protobuf" Version="[3.22.5,4.0)" />
<PackageVersion Include="Grpc" Version="[2.44.0,3.0)" />
<PackageVersion Include="Grpc.Net.Client" Version="[2.52.0,3.0)" />
<PackageVersion Include="JunitXml.TestLogger" Version="6.1.0" />
<PackageVersion Include="Microsoft.CSharp" Version="[4.7.0]" />
<PackageVersion Include="Microsoft.CodeAnalysis.PublicApiAnalyzers" Version="[3.11.0-beta1.23525.2]" />
<PackageVersion Include="Microsoft.Coyote" Version="1.7.11" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="$(LatestRuntimeOutOfBandVer)" />
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="$(LatestRuntimeOutOfBandVer)" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="$(LatestRuntimeOutOfBandVer)" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="$(LatestRuntimeOutOfBandVer)" />
<PackageVersion Include="Microsoft.Extensions.Telemetry.Abstractions" Version="[9.0.0,)" />
<PackageVersion Include="Microsoft.NETFramework.ReferenceAssemblies" Version="[1.0.3,2.0)" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="[17.13.0,18.0.0)" />
<PackageVersion Include="MinVer" Version="[5.0.0,6.0)" />
<PackageVersion Include="NuGet.Versioning" Version="6.11.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="[1.9.0,2.0)" />
<PackageVersion Include="OpenTelemetry.Instrumentation.GrpcNetClient" Version="[1.9.0-beta.1,2.0)" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="[1.9.0,2.0)" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="[1.9.0,2.0)" />
<PackageVersion Include="RabbitMQ.Client" Version="[6.8.1,7.0)" />
<PackageVersion Include="StyleCop.Analyzers" Version="[1.2.0-beta.556,2.0)" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="[6.7.3,)" />
<PackageVersion Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
<PackageVersion Include="xunit" Version="[2.9.3,3.0)" />
<PackageVersion Include="xunit.runner.visualstudio" Version="[2.8.2,3.0)" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
<PackageVersion Include="Microsoft.AspNetCore.TestHost" Version="8.0.8" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
<PackageVersion Include="Microsoft.AspNetCore.TestHost" Version="9.0.0" />
</ItemGroup>
</Project>

View File

@ -1,12 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="NuGet" value="https://api.nuget.org/v3/index.json" />
<!--
<add key="dotnet6" value="https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet6/nuget/v3/index.json" />
-->
<add key=".Net Core Tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
</packageSources>
<!-- Define mappings by adding package patterns beneath the target source. -->
<packageSourceMapping>
<!-- key value for <packageSource> should match key values from <packageSources> element -->
<packageSource key="NuGet">
<package pattern="*" />
</packageSource>
</packageSourceMapping>
<disabledPackageSources />
</configuration>

View File

@ -1,23 +0,0 @@
<Project>
<ItemGroup>
<SolutionProjects Include="**\*.csproj" />
<!-- Windows specific projects -->
<SolutionProjects Remove="examples\AspNet\OpenTelemetry.Exporter.AspNet.csproj" Condition="'$(OS)' != 'Windows_NT'" />
<SolutionProjects Remove="src\OpenTelemetry.Instrumentation.AspNet\OpenTelemetry.Instrumentation.AspNet.csproj" Condition="'$(OS)' != 'Windows_NT'" />
<SolutionProjects Remove="test\OpenTelemetry.Instrumentation.AspNet.Tests\OpenTelemetry.Instrumentation.AspNet.Tests.csproj" Condition="'$(OS)' != 'Windows_NT'" />
<PackProjects Include="src\**\*.csproj" />
<!-- Windows specific projects -->
<PackProjects Remove="src\OpenTelemetry.Instrumentation.AspNet\OpenTelemetry.Instrumentation.AspNet.csproj" Condition="'$(OS)' != 'Windows_NT'" />
</ItemGroup>
<Target Name="Build">
<MSBuild Projects="@(SolutionProjects)" Targets="Restore;Build" ContinueOnError="ErrorAndStop" />
</Target>
<Target Name="Pack">
<MSBuild Projects="@(PackProjects)" Targets="Pack" ContinueOnError="ErrorAndStop" />
</Target>
</Project>

View File

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29123.89
# Visual Studio Version 17
VisualStudioVersion = 17.0.32014.148
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry", "src\OpenTelemetry\OpenTelemetry.csproj", "{AE3E3DF5-4083-4C6E-A840-8271B0ACDE7E}"
EndProject
@ -11,11 +11,14 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
ProjectSection(SolutionItems) = preProject
.dockerignore = .dockerignore
.editorconfig = .editorconfig
.gitignore = .gitignore
CONTRIBUTING.md = CONTRIBUTING.md
LICENSE = LICENSE
global.json = global.json
LICENSE.TXT = LICENSE.TXT
NuGet.config = NuGet.config
OpenTelemetry.proj = OpenTelemetry.proj
README.md = README.md
RELEASENOTES.md = RELEASENOTES.md
THIRD-PARTY-NOTICES.TXT = THIRD-PARTY-NOTICES.TXT
VERSIONING.md = VERSIONING.md
EndProjectSection
EndProject
@ -24,18 +27,21 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{7CB2F02E
build\Common.nonprod.props = build\Common.nonprod.props
build\Common.prod.props = build\Common.prod.props
build\Common.props = build\Common.props
build\Common.targets = build\Common.targets
build\debug.snk = build\debug.snk
Directory.Packages.props = Directory.Packages.props
build\docfx.cmd = build\docfx.cmd
build\docker-compose.netcoreapp3.1.yml = build\docker-compose.netcoreapp3.1.yml
build\finalize-publicapi.ps1 = build\finalize-publicapi.ps1
build\docker-compose.net8.0.yml = build\docker-compose.net8.0.yml
build\docker-compose.net9.0.yml = build\docker-compose.net9.0.yml
build\GlobalAttrExclusions.txt = build\GlobalAttrExclusions.txt
build\opentelemetry-icon-color.png = build\opentelemetry-icon-color.png
build\OpenTelemetry.prod.loose.ruleset = build\OpenTelemetry.prod.loose.ruleset
build\OpenTelemetry.prod.ruleset = build\OpenTelemetry.prod.ruleset
build\OpenTelemetry.proj = build\OpenTelemetry.proj
build\OpenTelemetry.test.ruleset = build\OpenTelemetry.test.ruleset
build\PreBuild.ps1 = build\PreBuild.ps1
build\process-codecoverage.ps1 = build\process-codecoverage.ps1
build\RELEASING.md = build\RELEASING.md
build\stylecop.json = build\stylecop.json
build\UnstableCoreLibraries.proj = build\UnstableCoreLibraries.proj
build\xunit.runner.json = build\xunit.runner.json
EndProjectSection
EndProject
@ -43,74 +49,58 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.Zipk
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Api", "src\OpenTelemetry.Api\OpenTelemetry.Api.csproj", "{99F8A331-05E9-45A5-89BA-4C54E825E5B2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentation.AspNetCore", "src\OpenTelemetry.Instrumentation.AspNetCore\OpenTelemetry.Instrumentation.AspNetCore.csproj", "{752D2182-A351-41D8-99EE-DD363D7D5B43}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentation.AspNetCore.Tests", "test\OpenTelemetry.Instrumentation.AspNetCore.Tests\OpenTelemetry.Instrumentation.AspNetCore.Tests.csproj", "{2A47F6A8-63E5-4237-8046-94CAF321E797}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "testdata", "testdata", "{77C7929A-2EED-4AA6-8705-B5C443C8AA0F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestApp.AspNetCore.3.1", "test\TestApp.AspNetCore.3.1\TestApp.AspNetCore.3.1.csproj", "{F2F81E76-6A0E-466B-B673-EBBF1A9ED075}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentation.StackExchangeRedis", "src\OpenTelemetry.Instrumentation.StackExchangeRedis\OpenTelemetry.Instrumentation.StackExchangeRedis.csproj", "{6B681D72-D68A-44CC-8C75-53B9A322E6EC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentation.StackExchangeRedis.Tests", "test\OpenTelemetry.Instrumentation.StackExchangeRedis.Tests\OpenTelemetry.Instrumentation.StackExchangeRedis.Tests.csproj", "{CA98AF29-0852-4ADD-A66B-7E96266EE7B7}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{E359BB2B-9AEC-497D-B321-7DF2450C3B8E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.Jaeger", "src\OpenTelemetry.Exporter.Jaeger\OpenTelemetry.Exporter.Jaeger.csproj", "{8D47E3CF-9AE3-42FE-9084-FEB72D9AD769}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.Jaeger.Tests", "test\OpenTelemetry.Exporter.Jaeger.Tests\OpenTelemetry.Exporter.Jaeger.Tests.csproj", "{21E69213-72D5-453F-BD00-75EF36AC4965}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Shims.OpenTracing", "src\OpenTelemetry.Shims.OpenTracing\OpenTelemetry.Shims.OpenTracing.csproj", "{AAC408FE-40EF-4479-97D9-697F2C1A0B28}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Shims.OpenTracing.Tests", "test\OpenTelemetry.Shims.OpenTracing.Tests\OpenTelemetry.Shims.OpenTracing.Tests.csproj", "{49A7853F-5B6F-4B65-A781-7D29A1C92164}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{0169B149-FB8B-46F4-9EF7-8A0E69F8FAAF}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Extensions.Hosting", "src\OpenTelemetry.Extensions.Hosting\OpenTelemetry.Extensions.Hosting.csproj", "{A03102CD-A996-4418-BA19-7141C34B5A7D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Extensions.Hosting.Tests", "test\OpenTelemetry.Extensions.Hosting.Tests\OpenTelemetry.Extensions.Hosting.Tests.csproj", "{4CB1187F-27F2-48F9-83F4-3A7567F73B5F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.OpenTelemetryProtocol", "src\OpenTelemetry.Exporter.OpenTelemetryProtocol\OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj", "{A38AC295-2745-4B85-8B6B-DCA864CEDD5B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.ZPages", "src\OpenTelemetry.Exporter.ZPages\OpenTelemetry.Exporter.ZPages.csproj", "{56A34828-621A-478B-A0B8-C065FE938383}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.Console", "src\OpenTelemetry.Exporter.Console\OpenTelemetry.Exporter.Console.csproj", "{1AFFF251-3B0C-47CA-BE94-937083732C0A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.Zipkin.Tests", "test\OpenTelemetry.Exporter.Zipkin.Tests\OpenTelemetry.Exporter.Zipkin.Tests.csproj", "{1D778D2E-9523-450E-A6E0-A36897C7E78E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentation.AspNet", "src\OpenTelemetry.Instrumentation.AspNet\OpenTelemetry.Instrumentation.AspNet.csproj", "{B9EEACDD-CAFA-4B75-A18D-898E7DE21B17}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentation.AspNet.Tests", "test\OpenTelemetry.Instrumentation.AspNet.Tests\OpenTelemetry.Instrumentation.AspNet.Tests.csproj", "{55CBAADE-7040-46D6-A845-F207B4F0E281}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests", "test\OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests\OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests.csproj", "{7C4026CA-6434-4762-8B77-D657EAEE1325}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{F1D0972B-38CF-49C2-9F4B-4C5DE02FB71D}"
ProjectSection(SolutionItems) = preProject
.github\codecov.yml = .github\codecov.yml
.github\CODEOWNERS = .github\CODEOWNERS
.github\dependabot.yml = .github\dependabot.yml
.github\PULL_REQUEST_TEMPLATE.md = .github\PULL_REQUEST_TEMPLATE.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ISSUE_TEMPLATE", "ISSUE_TEMPLATE", "{A533C800-3DC3-4D04-90A7-0CE7A1E6BDB3}"
ProjectSection(SolutionItems) = preProject
.github\ISSUE_TEMPLATE\bug_report.md = .github\ISSUE_TEMPLATE\bug_report.md
.github\ISSUE_TEMPLATE\feature_request.md = .github\ISSUE_TEMPLATE\feature_request.md
.github\ISSUE_TEMPLATE\question.md = .github\ISSUE_TEMPLATE\question.md
.github\ISSUE_TEMPLATE\bug_report.yml = .github\ISSUE_TEMPLATE\bug_report.yml
.github\ISSUE_TEMPLATE\feature_request.yml = .github\ISSUE_TEMPLATE\feature_request.yml
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{E69578EB-B456-4062-A645-877CD964528B}"
ProjectSection(SolutionItems) = preProject
.github\workflows\apicompatibility.yml = .github\workflows\apicompatibility.yml
.github\workflows\code-coverage.yml = .github\workflows\code-coverage.yml
.github\workflows\add-labels.yml = .github\workflows\add-labels.yml
.github\workflows\automation.yml = .github\workflows\automation.yml
.github\workflows\ci.yml = .github\workflows\ci.yml
.github\workflows\codeql-analysis.yml = .github\workflows\codeql-analysis.yml
.github\workflows\Component.BuildTest.yml = .github\workflows\Component.BuildTest.yml
.github\workflows\concurrency-tests.yml = .github\workflows\concurrency-tests.yml
.github\workflows\docfx.yml = .github\workflows\docfx.yml
.github\workflows\dotnet-format.yml = .github\workflows\dotnet-format.yml
.github\workflows\integration.yml = .github\workflows\integration.yml
.github\workflows\linux-ci.yml = .github\workflows\linux-ci.yml
.github\workflows\markdownlint.yml = .github\workflows\markdownlint.yml
.github\workflows\package-validation.yml = .github\workflows\package-validation.yml
.github\workflows\post-release.yml = .github\workflows\post-release.yml
.github\workflows\prepare-release.yml = .github\workflows\prepare-release.yml
.github\workflows\publish-packages-1.0.yml = .github\workflows\publish-packages-1.0.yml
.github\workflows\sanitycheck.yml = .github\workflows\sanitycheck.yml
.github\workflows\windows-ci.yml = .github\workflows\windows-ci.yml
.github\workflows\stale.yml = .github\workflows\stale.yml
.github\workflows\verifyaotcompat.yml = .github\workflows\verifyaotcompat.yml
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C1542297-8763-4DF4-957C-489ED771C21D}"
@ -125,46 +115,37 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{D2E73927-5
test\Directory.Build.targets = test\Directory.Build.targets
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentation.Grpc.Tests", "test\OpenTelemetry.Instrumentation.Grpc.Tests\OpenTelemetry.Instrumentation.Grpc.Tests.csproj", "{305E9DFD-E73B-4A28-8769-795C25551020}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.ZPages.Tests", "test\OpenTelemetry.Exporter.ZPages.Tests\OpenTelemetry.Exporter.ZPages.Tests.csproj", "{98F9556B-116F-49B5-9211-BB1D418446FF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Examples.AspNet", "examples\AspNet\Examples.AspNet.csproj", "{9A4E3A68-904B-4835-A3C8-F664B73098DB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Examples.Console", "examples\Console\Examples.Console.csproj", "{FF3E6E08-E8E4-4523-B526-847CD989279F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Examples.AspNetCore", "examples\AspNetCore\Examples.AspNetCore.csproj", "{0935622B-9377-4056-8343-AE6ECDC274CF}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Benchmarks", "test\Benchmarks\Benchmarks.csproj", "{DE9130A4-F30A-49D7-8834-41DE3021218B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentation.SqlClient.Tests", "test\OpenTelemetry.Instrumentation.SqlClient.Tests\OpenTelemetry.Instrumentation.SqlClient.Tests.csproj", "{0C606039-BE0A-4EE6-B8F7-F75B41E52CB8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentation.SqlClient", "src\OpenTelemetry.Instrumentation.SqlClient\OpenTelemetry.Instrumentation.SqlClient.csproj", "{41C30DC1-8C57-4E14-A83A-7635A3C7960B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentation.Http.Tests", "test\OpenTelemetry.Instrumentation.Http.Tests\OpenTelemetry.Instrumentation.Http.Tests.csproj", "{DE9EB7D8-9CC5-4073-90B3-9FBF685B3305}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentation.Http", "src\OpenTelemetry.Instrumentation.Http\OpenTelemetry.Instrumentation.Http.csproj", "{412C64D1-43D6-4E4C-8AD8-E20E63B415BD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentation.GrpcNetClient", "src\OpenTelemetry.Instrumentation.GrpcNetClient\OpenTelemetry.Instrumentation.GrpcNetClient.csproj", "{0246BFC4-8AAF-45E1-A127-DB43D6E345BB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{7C87CAF9-79D7-4C26-9FFB-F3F1FB6911F1}"
ProjectSection(SolutionItems) = preProject
docs\README.md = docs\README.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{2C7DD1DA-C229-4D9E-9AF0-BCD5CD3E4948}"
ProjectSection(SolutionItems) = preProject
examples\Directory.Build.props = examples\Directory.Build.props
examples\Directory.Build.targets = examples\Directory.Build.targets
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "trace", "trace", "{5B7FB835-3FFF-4BC2-99C5-A5B5FAE3C818}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getting-started", "docs\trace\getting-started\getting-started.csproj", "{BE60E3D5-DE30-4BAB-8E7A-63B21D0E80D7}"
ProjectSection(SolutionItems) = preProject
docs\trace\README.md = docs\trace\README.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "metrics", "metrics", "{3277B1C0-BDFE-4460-9B0D-D9A661FB48DB}"
ProjectSection(SolutionItems) = preProject
docs\metrics\building-your-own-exporter.md = docs\metrics\building-your-own-exporter.md
docs\metrics\README.md = docs\metrics\README.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "logs", "logs", "{3862190B-E2C5-418E-AFDC-DB281FB5C705}"
ProjectSection(SolutionItems) = preProject
docs\logs\README.md = docs\logs\README.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MicroserviceExample", "MicroserviceExample", "{4D492D62-5150-45F9-817F-C99562E364E2}"
ProjectSection(SolutionItems) = preProject
@ -182,6 +163,7 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{CB401DF1-FF5C-4055-886E-1183E832B2D6}"
ProjectSection(SolutionItems) = preProject
docs\Directory.Build.props = docs\Directory.Build.props
docs\Directory.Packages.props = docs\Directory.Packages.props
docs\docfx.json = docs\docfx.json
docs\toc.yml = docs\toc.yml
EndProjectSection
@ -192,33 +174,180 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentati
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Examples.GrpcService", "examples\GrpcService\Examples.GrpcService.csproj", "{DB942F5A-D571-4DEA-B1A7-B6BE0E24E6ED}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getting-started", "docs\logs\getting-started\getting-started.csproj", "{B3F03725-23A0-4582-9526-F6A7E38F35CC}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getting-started-console", "docs\logs\getting-started-console\getting-started-console.csproj", "{B3F03725-23A0-4582-9526-F6A7E38F35CC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.InMemory", "src\OpenTelemetry.Exporter.InMemory\OpenTelemetry.Exporter.InMemory.csproj", "{9BCEA68B-50E2-4A3A-93E6-B51AF612BCC1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "extending-the-sdk", "docs\logs\extending-the-sdk\extending-the-sdk.csproj", "{13C10C9A-07E8-43EB-91F5-C2B116FBE0FC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Shared", "src\OpenTelemetry.Shared\OpenTelemetry.Shared.csproj", "{1E504265-1E32-4C61-8CC5-8FA373E16699}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestApp.AspNetCore.5.0", "test\TestApp.AspNetCore.5.0\TestApp.AspNetCore.5.0.csproj", "{972396A8-E35B-499C-9BA1-765E9B8822E1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "exception-reporting", "docs\trace\exception-reporting\exception-reporting.csproj", "{08D29501-F0A3-468F-B18D-BD1821A72383}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "reporting-exceptions", "docs\trace\reporting-exceptions\reporting-exceptions.csproj", "{08D29501-F0A3-468F-B18D-BD1821A72383}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "customizing-the-sdk", "docs\trace\customizing-the-sdk\customizing-the-sdk.csproj", "{64E3D8BB-93AB-4571-93F7-ED8D64DFFD06}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getting-started", "docs\metrics\getting-started\getting-started.csproj", "{DFB0AD2F-11BE-4BCD-A77B-1018C3344FA8}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "learning-more-instruments", "docs\metrics\learning-more-instruments\learning-more-instruments.csproj", "{E7F491CC-C37E-4A56-9CA7-8F77F59E0614}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.Prometheus", "src\OpenTelemetry.Exporter.Prometheus\OpenTelemetry.Exporter.Prometheus.csproj", "{52158A12-E7EF-45A1-859F-06F9B17410CB}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getting-started-console", "docs\metrics\getting-started-console\getting-started-console.csproj", "{EA60B549-F712-4ABE-8E44-FCA83B78C06E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule", "src\OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule\OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule.csproj", "{F38E511B-1877-4E8A-8051-7879FC7DF8A4}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getting-started-aspnetcore", "docs\metrics\getting-started-aspnetcore\getting-started-aspnetcore.csproj", "{0C3E7D40-E0B3-4B77-8139-0E85C3600688}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule.Tests", "test\OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule.Tests\OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule.Tests.csproj", "{4D7201BC-7124-4401-AD65-FAB58A053D45}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "extending-the-sdk", "docs\metrics\extending-the-sdk\extending-the-sdk.csproj", "{1F9D7748-D099-4E25-97F5-9C969D6FF969}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getting-started-histogram", "docs\metrics\getting-started-histogram\getting-started-histogram.csproj", "{92ED77A6-37B4-447D-B4C4-15DB005A589C}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Tests.Stress.Metrics", "test\OpenTelemetry.Tests.Stress.Metrics\OpenTelemetry.Tests.Stress.Metrics.csproj", "{A885DBE2-4B82-432C-A77B-19844D7BBC96}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getting-started-async-gauge", "docs\metrics\getting-started-gauge\getting-started-async-gauge.csproj", "{E7F491CC-C37E-4A56-9CA7-8F77F59E0614}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "customizing-the-sdk", "docs\metrics\customizing-the-sdk\customizing-the-sdk.csproj", "{81234AFA-B4E7-4D0D-AB97-FD559C78EDA2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "getting-started-async-counter", "docs\metrics\getting-started-async-counter\getting-started-async-counter.csproj", "{54263F0D-23CB-4580-9133-03B2C3575919}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Tests.Stress", "test\OpenTelemetry.Tests.Stress\OpenTelemetry.Tests.Stress.csproj", "{2770158A-D220-414B-ABC6-179371323579}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getting-started-prometheus-grafana", "docs\metrics\getting-started-prometheus-grafana\getting-started-prometheus-grafana.csproj", "{41B784AA-3301-4126-AF9F-1D59BD04B0BF}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "customizing-the-sdk", "docs\logs\customizing-the-sdk\customizing-the-sdk.csproj", "{6C7A1595-36D6-4229-BBB5-5A6B5791791D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Extensions.Propagators", "src\OpenTelemetry.Extensions.Propagators\OpenTelemetry.Extensions.Propagators.csproj", "{E91B2E40-E428-43B3-8A43-09709F0E69E4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Extensions.Propagators.Tests", "test\OpenTelemetry.Extensions.Propagators.Tests\OpenTelemetry.Extensions.Propagators.Tests.csproj", "{476D804B-BFEC-4D34-814C-DFFD97109989}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "correlation", "docs\logs\correlation\correlation.csproj", "{9A07D215-90AC-4BAF-BCDB-73D74FD3A5C5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Tests.Stress.Logs", "test\OpenTelemetry.Tests.Stress.Logs\OpenTelemetry.Tests.Stress.Logs.csproj", "{4298057B-24E0-47B3-BB76-C17E81AF6B39}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.Prometheus.AspNetCore", "src\OpenTelemetry.Exporter.Prometheus.AspNetCore\OpenTelemetry.Exporter.Prometheus.AspNetCore.csproj", "{921CF401-4C2F-4C6D-A750-0B5DC457C1F1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.Prometheus.HttpListener", "src\OpenTelemetry.Exporter.Prometheus.HttpListener\OpenTelemetry.Exporter.Prometheus.HttpListener.csproj", "{6B0232B7-5F29-4FB5-B383-1AA02DFE1089}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.Prometheus.AspNetCore.Tests", "test\OpenTelemetry.Exporter.Prometheus.AspNetCore.Tests\OpenTelemetry.Exporter.Prometheus.AspNetCore.Tests.csproj", "{FBD12B0B-6731-4DD4-9C13-86F34593E974}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.Prometheus.HttpListener.Tests", "test\OpenTelemetry.Exporter.Prometheus.HttpListener.Tests\OpenTelemetry.Exporter.Prometheus.HttpListener.Tests.csproj", "{4EF4364F-6E64-43CE-BED1-E6FE01024899}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Tests.Stress.Traces", "test\OpenTelemetry.Tests.Stress.Traces\OpenTelemetry.Tests.Stress.Traces.csproj", "{5697662B-5F14-4E32-BB11-1D8942782AB6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestApp.AspNetCore", "test\TestApp.AspNetCore\TestApp.AspNetCore.csproj", "{5FDAF679-DE5A-4C73-A49B-8ABCF2399229}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "complex-objects", "docs\logs\complex-objects\complex-objects.csproj", "{9AAB00EC-ED6F-4462-82DE-7D864A9DB6C5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "redaction", "docs\logs\redaction\redaction.csproj", "{A2DF46DE-50D7-4887-8C9D-4BD79CA19FAA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.Console.Tests", "test\OpenTelemetry.Exporter.Console.Tests\OpenTelemetry.Exporter.Console.Tests.csproj", "{011E70E1-152A-47BB-AF83-12DD12B125ED}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Api.ProviderBuilderExtensions", "src\OpenTelemetry.Api.ProviderBuilderExtensions\OpenTelemetry.Api.ProviderBuilderExtensions.csproj", "{171A87CB-393C-4296-913F-E704CD8CEAE9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Api.ProviderBuilderExtensions.Tests", "test\OpenTelemetry.Api.ProviderBuilderExtensions.Tests\OpenTelemetry.Api.ProviderBuilderExtensions.Tests.csproj", "{662476AA-5875-4E74-B992-DDF309168EFB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getting-started-aspnetcore", "docs\trace\getting-started-aspnetcore\getting-started-aspnetcore.csproj", "{DEDE8442-03CA-48CF-99B9-EA224D89D148}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getting-started-console", "docs\trace\getting-started-console\getting-started-console.csproj", "{EF4F6280-14D1-49D4-8095-1AC36E169AA8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getting-started-jaeger", "docs\trace\getting-started-jaeger\getting-started-jaeger.csproj", "{A0C0B77C-6C7B-4EC2-AC61-EA1F489811B9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tail-based-sampling-example", "docs\trace\tail-based-sampling-span-level\tail-based-sampling-example.csproj", "{800DB925-6014-4136-AC01-3356CF7CADD3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "stratified-sampling-example", "docs\trace\stratified-sampling-example\stratified-sampling-example.csproj", "{9C99621C-343E-479C-A943-332DB6129B71}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.AotCompatibility.TestApp", "test\OpenTelemetry.AotCompatibility.TestApp\OpenTelemetry.AotCompatibility.TestApp.csproj", "{13A59BD9-9475-4991-B74D-7C20F1C63409}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "links-sampler", "docs\trace\links-based-sampler\links-sampler.csproj", "{62AF4BD3-DCAE-4D44-AA5B-991C1071166B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Shared", "Shared", "{A49299FB-C5CD-4E0E-B7E1-B7867BBD67CC}"
ProjectSection(SolutionItems) = preProject
src\Shared\ActivityHelperExtensions.cs = src\Shared\ActivityHelperExtensions.cs
src\Shared\AssemblyVersionExtensions.cs = src\Shared\AssemblyVersionExtensions.cs
src\Shared\DiagnosticDefinitions.cs = src\Shared\DiagnosticDefinitions.cs
src\Shared\ExceptionExtensions.cs = src\Shared\ExceptionExtensions.cs
src\Shared\Guard.cs = src\Shared\Guard.cs
src\Shared\MathHelper.cs = src\Shared\MathHelper.cs
src\Shared\PeriodicExportingMetricReaderHelper.cs = src\Shared\PeriodicExportingMetricReaderHelper.cs
src\Shared\PooledList.cs = src\Shared\PooledList.cs
src\Shared\ResourceSemanticConventions.cs = src\Shared\ResourceSemanticConventions.cs
src\Shared\SemanticConventions.cs = src\Shared\SemanticConventions.cs
src\Shared\SpanAttributeConstants.cs = src\Shared\SpanAttributeConstants.cs
src\Shared\StatusHelper.cs = src\Shared\StatusHelper.cs
src\Shared\ThreadSafeRandom.cs = src\Shared\ThreadSafeRandom.cs
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "EnvironmentVariables", "EnvironmentVariables", "{6D4B4FB2-0A8A-4044-948B-C063FD340439}"
ProjectSection(SolutionItems) = preProject
src\Shared\EnvironmentVariables\EnvironmentVariablesConfigurationProvider.cs = src\Shared\EnvironmentVariables\EnvironmentVariablesConfigurationProvider.cs
src\Shared\EnvironmentVariables\EnvironmentVariablesConfigurationSource.cs = src\Shared\EnvironmentVariables\EnvironmentVariablesConfigurationSource.cs
src\Shared\EnvironmentVariables\EnvironmentVariablesExtensions.cs = src\Shared\EnvironmentVariables\EnvironmentVariablesExtensions.cs
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Options", "Options", "{494902DD-C63F-48E0-BED3-B58EFB4051C8}"
ProjectSection(SolutionItems) = preProject
src\Shared\Options\DelegatingOptionsFactory.cs = src\Shared\Options\DelegatingOptionsFactory.cs
src\Shared\Options\DelegatingOptionsFactoryServiceCollectionExtensions.cs = src\Shared\Options\DelegatingOptionsFactoryServiceCollectionExtensions.cs
src\Shared\Options\SingletonOptionsManager.cs = src\Shared\Options\SingletonOptionsManager.cs
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Shims", "Shims", "{A0CB9A10-F22D-4E66-A449-74B3D0361A9C}"
ProjectSection(SolutionItems) = preProject
src\Shared\Shims\IsExternalInit.cs = src\Shared\Shims\IsExternalInit.cs
src\Shared\Shims\Lock.cs = src\Shared\Shims\Lock.cs
src\Shared\Shims\NullableAttributes.cs = src\Shared\Shims\NullableAttributes.cs
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Api.Tests", "test\OpenTelemetry.Api.Tests\OpenTelemetry.Api.Tests.csproj", "{777C04B8-1BD5-43D7-B3CD-D2189DFABCF3}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Metrics", "Metrics", "{1C459B5B-C702-46FF-BF1A-EE795E420FFA}"
ProjectSection(SolutionItems) = preProject
src\Shared\Metrics\Base2ExponentialBucketHistogramHelper.cs = src\Shared\Metrics\Base2ExponentialBucketHistogramHelper.cs
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getting-started-aspnetcore", "docs\logs\getting-started-aspnetcore\getting-started-aspnetcore.csproj", "{99B4D965-8782-4694-8DFA-B7A3630CEF60}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "links-creation", "docs\trace\links-creation-with-new-activities\links-creation.csproj", "{B4856711-6D4C-4246-A686-49458D4C1301}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "diagnostics", "diagnostics", "{52AF6D7D-9E66-4234-9A2C-5D16C6F22B40}"
ProjectSection(SolutionItems) = preProject
docs\diagnostics\README.md = docs\diagnostics\README.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "experimental-apis", "experimental-apis", "{17A22B0E-6EC3-4A39-B955-0A486AD06699}"
ProjectSection(SolutionItems) = preProject
docs\diagnostics\experimental-apis\OTEL1000.md = docs\diagnostics\experimental-apis\OTEL1000.md
docs\diagnostics\experimental-apis\OTEL1001.md = docs\diagnostics\experimental-apis\OTEL1001.md
docs\diagnostics\experimental-apis\OTEL1004.md = docs\diagnostics\experimental-apis\OTEL1004.md
docs\diagnostics\experimental-apis\README.md = docs\diagnostics\experimental-apis\README.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "resources", "resources", "{A115CE4C-71A8-4B95-96A5-C1DF46FD94C2}"
ProjectSection(SolutionItems) = preProject
docs\resources\README.md = docs\resources\README.md
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "extending-the-sdk", "docs\resources\extending-the-sdk\extending-the-sdk.csproj", "{7BE494FC-4B0D-4340-A62A-9C9F3E7389FE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dedicated-pipeline", "docs\logs\dedicated-pipeline\dedicated-pipeline.csproj", "{19545B37-8518-4BDD-AD49-00C031FB3C2A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Configuration", "Configuration", "{87A20A76-D524-4AAC-AF92-8725BFED0415}"
ProjectSection(SolutionItems) = preProject
src\Shared\Configuration\IConfigurationExtensionsLogger.cs = src\Shared\Configuration\IConfigurationExtensionsLogger.cs
src\Shared\Configuration\OpenTelemetryConfigurationExtensions.cs = src\Shared\Configuration\OpenTelemetryConfigurationExtensions.cs
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TagWriter", "TagWriter", "{993E65E5-E71B-40FD-871C-60A9EBD59724}"
ProjectSection(SolutionItems) = preProject
src\Shared\TagWriter\ArrayTagWriter.cs = src\Shared\TagWriter\ArrayTagWriter.cs
src\Shared\TagWriter\JsonStringArrayTagWriter.cs = src\Shared\TagWriter\JsonStringArrayTagWriter.cs
src\Shared\TagWriter\TagWriter.cs = src\Shared\TagWriter\TagWriter.cs
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{44982E0D-C8C6-42DC-9F8F-714981F27CE6}"
ProjectSection(SolutionItems) = preProject
build\scripts\add-labels.psm1 = build\scripts\add-labels.psm1
build\scripts\finalize-publicapi.ps1 = build\scripts\finalize-publicapi.ps1
build\scripts\post-release.psm1 = build\scripts\post-release.psm1
build\scripts\prepare-release.psm1 = build\scripts\prepare-release.psm1
build\scripts\sanitycheck.py = build\scripts\sanitycheck.py
build\scripts\test-aot-compatibility.ps1 = build\scripts\test-aot-compatibility.ps1
build\scripts\test-threadSafety.ps1 = build\scripts\test-threadSafety.ps1
build\scripts\update-changelogs.ps1 = build\scripts\update-changelogs.ps1
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "exemplars", "docs\metrics\exemplars\exemplars.csproj", "{79C12C80-B27B-41FB-AE79-A3BB74CFA782}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Proto", "Proto", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
ProjectSection(SolutionItems) = preProject
src\Shared\Proto\README.md = src\Shared\Proto\README.md
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -242,34 +371,6 @@ Global
{99F8A331-05E9-45A5-89BA-4C54E825E5B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{99F8A331-05E9-45A5-89BA-4C54E825E5B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{99F8A331-05E9-45A5-89BA-4C54E825E5B2}.Release|Any CPU.Build.0 = Release|Any CPU
{752D2182-A351-41D8-99EE-DD363D7D5B43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{752D2182-A351-41D8-99EE-DD363D7D5B43}.Debug|Any CPU.Build.0 = Debug|Any CPU
{752D2182-A351-41D8-99EE-DD363D7D5B43}.Release|Any CPU.ActiveCfg = Release|Any CPU
{752D2182-A351-41D8-99EE-DD363D7D5B43}.Release|Any CPU.Build.0 = Release|Any CPU
{2A47F6A8-63E5-4237-8046-94CAF321E797}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2A47F6A8-63E5-4237-8046-94CAF321E797}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2A47F6A8-63E5-4237-8046-94CAF321E797}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2A47F6A8-63E5-4237-8046-94CAF321E797}.Release|Any CPU.Build.0 = Release|Any CPU
{F2F81E76-6A0E-466B-B673-EBBF1A9ED075}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F2F81E76-6A0E-466B-B673-EBBF1A9ED075}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F2F81E76-6A0E-466B-B673-EBBF1A9ED075}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F2F81E76-6A0E-466B-B673-EBBF1A9ED075}.Release|Any CPU.Build.0 = Release|Any CPU
{6B681D72-D68A-44CC-8C75-53B9A322E6EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6B681D72-D68A-44CC-8C75-53B9A322E6EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6B681D72-D68A-44CC-8C75-53B9A322E6EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6B681D72-D68A-44CC-8C75-53B9A322E6EC}.Release|Any CPU.Build.0 = Release|Any CPU
{CA98AF29-0852-4ADD-A66B-7E96266EE7B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CA98AF29-0852-4ADD-A66B-7E96266EE7B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CA98AF29-0852-4ADD-A66B-7E96266EE7B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CA98AF29-0852-4ADD-A66B-7E96266EE7B7}.Release|Any CPU.Build.0 = Release|Any CPU
{8D47E3CF-9AE3-42FE-9084-FEB72D9AD769}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8D47E3CF-9AE3-42FE-9084-FEB72D9AD769}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8D47E3CF-9AE3-42FE-9084-FEB72D9AD769}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8D47E3CF-9AE3-42FE-9084-FEB72D9AD769}.Release|Any CPU.Build.0 = Release|Any CPU
{21E69213-72D5-453F-BD00-75EF36AC4965}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{21E69213-72D5-453F-BD00-75EF36AC4965}.Debug|Any CPU.Build.0 = Debug|Any CPU
{21E69213-72D5-453F-BD00-75EF36AC4965}.Release|Any CPU.ActiveCfg = Release|Any CPU
{21E69213-72D5-453F-BD00-75EF36AC4965}.Release|Any CPU.Build.0 = Release|Any CPU
{AAC408FE-40EF-4479-97D9-697F2C1A0B28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AAC408FE-40EF-4479-97D9-697F2C1A0B28}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AAC408FE-40EF-4479-97D9-697F2C1A0B28}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -290,10 +391,6 @@ Global
{A38AC295-2745-4B85-8B6B-DCA864CEDD5B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A38AC295-2745-4B85-8B6B-DCA864CEDD5B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A38AC295-2745-4B85-8B6B-DCA864CEDD5B}.Release|Any CPU.Build.0 = Release|Any CPU
{56A34828-621A-478B-A0B8-C065FE938383}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{56A34828-621A-478B-A0B8-C065FE938383}.Debug|Any CPU.Build.0 = Debug|Any CPU
{56A34828-621A-478B-A0B8-C065FE938383}.Release|Any CPU.ActiveCfg = Release|Any CPU
{56A34828-621A-478B-A0B8-C065FE938383}.Release|Any CPU.Build.0 = Release|Any CPU
{1AFFF251-3B0C-47CA-BE94-937083732C0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1AFFF251-3B0C-47CA-BE94-937083732C0A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1AFFF251-3B0C-47CA-BE94-937083732C0A}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -302,30 +399,10 @@ Global
{1D778D2E-9523-450E-A6E0-A36897C7E78E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1D778D2E-9523-450E-A6E0-A36897C7E78E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1D778D2E-9523-450E-A6E0-A36897C7E78E}.Release|Any CPU.Build.0 = Release|Any CPU
{B9EEACDD-CAFA-4B75-A18D-898E7DE21B17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B9EEACDD-CAFA-4B75-A18D-898E7DE21B17}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B9EEACDD-CAFA-4B75-A18D-898E7DE21B17}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B9EEACDD-CAFA-4B75-A18D-898E7DE21B17}.Release|Any CPU.Build.0 = Release|Any CPU
{55CBAADE-7040-46D6-A845-F207B4F0E281}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{55CBAADE-7040-46D6-A845-F207B4F0E281}.Debug|Any CPU.Build.0 = Debug|Any CPU
{55CBAADE-7040-46D6-A845-F207B4F0E281}.Release|Any CPU.ActiveCfg = Release|Any CPU
{55CBAADE-7040-46D6-A845-F207B4F0E281}.Release|Any CPU.Build.0 = Release|Any CPU
{7C4026CA-6434-4762-8B77-D657EAEE1325}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7C4026CA-6434-4762-8B77-D657EAEE1325}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7C4026CA-6434-4762-8B77-D657EAEE1325}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7C4026CA-6434-4762-8B77-D657EAEE1325}.Release|Any CPU.Build.0 = Release|Any CPU
{305E9DFD-E73B-4A28-8769-795C25551020}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{305E9DFD-E73B-4A28-8769-795C25551020}.Debug|Any CPU.Build.0 = Debug|Any CPU
{305E9DFD-E73B-4A28-8769-795C25551020}.Release|Any CPU.ActiveCfg = Release|Any CPU
{305E9DFD-E73B-4A28-8769-795C25551020}.Release|Any CPU.Build.0 = Release|Any CPU
{98F9556B-116F-49B5-9211-BB1D418446FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{98F9556B-116F-49B5-9211-BB1D418446FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{98F9556B-116F-49B5-9211-BB1D418446FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{98F9556B-116F-49B5-9211-BB1D418446FF}.Release|Any CPU.Build.0 = Release|Any CPU
{9A4E3A68-904B-4835-A3C8-F664B73098DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9A4E3A68-904B-4835-A3C8-F664B73098DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9A4E3A68-904B-4835-A3C8-F664B73098DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9A4E3A68-904B-4835-A3C8-F664B73098DB}.Release|Any CPU.Build.0 = Release|Any CPU
{FF3E6E08-E8E4-4523-B526-847CD989279F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FF3E6E08-E8E4-4523-B526-847CD989279F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FF3E6E08-E8E4-4523-B526-847CD989279F}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -338,30 +415,6 @@ Global
{DE9130A4-F30A-49D7-8834-41DE3021218B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DE9130A4-F30A-49D7-8834-41DE3021218B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DE9130A4-F30A-49D7-8834-41DE3021218B}.Release|Any CPU.Build.0 = Release|Any CPU
{0C606039-BE0A-4EE6-B8F7-F75B41E52CB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0C606039-BE0A-4EE6-B8F7-F75B41E52CB8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0C606039-BE0A-4EE6-B8F7-F75B41E52CB8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C606039-BE0A-4EE6-B8F7-F75B41E52CB8}.Release|Any CPU.Build.0 = Release|Any CPU
{41C30DC1-8C57-4E14-A83A-7635A3C7960B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{41C30DC1-8C57-4E14-A83A-7635A3C7960B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{41C30DC1-8C57-4E14-A83A-7635A3C7960B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{41C30DC1-8C57-4E14-A83A-7635A3C7960B}.Release|Any CPU.Build.0 = Release|Any CPU
{DE9EB7D8-9CC5-4073-90B3-9FBF685B3305}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DE9EB7D8-9CC5-4073-90B3-9FBF685B3305}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DE9EB7D8-9CC5-4073-90B3-9FBF685B3305}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DE9EB7D8-9CC5-4073-90B3-9FBF685B3305}.Release|Any CPU.Build.0 = Release|Any CPU
{412C64D1-43D6-4E4C-8AD8-E20E63B415BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{412C64D1-43D6-4E4C-8AD8-E20E63B415BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{412C64D1-43D6-4E4C-8AD8-E20E63B415BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{412C64D1-43D6-4E4C-8AD8-E20E63B415BD}.Release|Any CPU.Build.0 = Release|Any CPU
{0246BFC4-8AAF-45E1-A127-DB43D6E345BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0246BFC4-8AAF-45E1-A127-DB43D6E345BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0246BFC4-8AAF-45E1-A127-DB43D6E345BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0246BFC4-8AAF-45E1-A127-DB43D6E345BB}.Release|Any CPU.Build.0 = Release|Any CPU
{BE60E3D5-DE30-4BAB-8E7A-63B21D0E80D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BE60E3D5-DE30-4BAB-8E7A-63B21D0E80D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BE60E3D5-DE30-4BAB-8E7A-63B21D0E80D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BE60E3D5-DE30-4BAB-8E7A-63B21D0E80D7}.Release|Any CPU.Build.0 = Release|Any CPU
{07336602-860B-4975-95DD-405D19C00901}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{07336602-860B-4975-95DD-405D19C00901}.Debug|Any CPU.Build.0 = Debug|Any CPU
{07336602-860B-4975-95DD-405D19C00901}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -398,14 +451,6 @@ Global
{13C10C9A-07E8-43EB-91F5-C2B116FBE0FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{13C10C9A-07E8-43EB-91F5-C2B116FBE0FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{13C10C9A-07E8-43EB-91F5-C2B116FBE0FC}.Release|Any CPU.Build.0 = Release|Any CPU
{1E504265-1E32-4C61-8CC5-8FA373E16699}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1E504265-1E32-4C61-8CC5-8FA373E16699}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1E504265-1E32-4C61-8CC5-8FA373E16699}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1E504265-1E32-4C61-8CC5-8FA373E16699}.Release|Any CPU.Build.0 = Release|Any CPU
{972396A8-E35B-499C-9BA1-765E9B8822E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{972396A8-E35B-499C-9BA1-765E9B8822E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{972396A8-E35B-499C-9BA1-765E9B8822E1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{972396A8-E35B-499C-9BA1-765E9B8822E1}.Release|Any CPU.Build.0 = Release|Any CPU
{08D29501-F0A3-468F-B18D-BD1821A72383}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{08D29501-F0A3-468F-B18D-BD1821A72383}.Debug|Any CPU.Build.0 = Debug|Any CPU
{08D29501-F0A3-468F-B18D-BD1821A72383}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -414,51 +459,167 @@ Global
{64E3D8BB-93AB-4571-93F7-ED8D64DFFD06}.Debug|Any CPU.Build.0 = Debug|Any CPU
{64E3D8BB-93AB-4571-93F7-ED8D64DFFD06}.Release|Any CPU.ActiveCfg = Release|Any CPU
{64E3D8BB-93AB-4571-93F7-ED8D64DFFD06}.Release|Any CPU.Build.0 = Release|Any CPU
{DFB0AD2F-11BE-4BCD-A77B-1018C3344FA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DFB0AD2F-11BE-4BCD-A77B-1018C3344FA8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DFB0AD2F-11BE-4BCD-A77B-1018C3344FA8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DFB0AD2F-11BE-4BCD-A77B-1018C3344FA8}.Release|Any CPU.Build.0 = Release|Any CPU
{52158A12-E7EF-45A1-859F-06F9B17410CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{52158A12-E7EF-45A1-859F-06F9B17410CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{52158A12-E7EF-45A1-859F-06F9B17410CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{52158A12-E7EF-45A1-859F-06F9B17410CB}.Release|Any CPU.Build.0 = Release|Any CPU
{F38E511B-1877-4E8A-8051-7879FC7DF8A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F38E511B-1877-4E8A-8051-7879FC7DF8A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F38E511B-1877-4E8A-8051-7879FC7DF8A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F38E511B-1877-4E8A-8051-7879FC7DF8A4}.Release|Any CPU.Build.0 = Release|Any CPU
{4D7201BC-7124-4401-AD65-FAB58A053D45}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4D7201BC-7124-4401-AD65-FAB58A053D45}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4D7201BC-7124-4401-AD65-FAB58A053D45}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4D7201BC-7124-4401-AD65-FAB58A053D45}.Release|Any CPU.Build.0 = Release|Any CPU
{92ED77A6-37B4-447D-B4C4-15DB005A589C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{92ED77A6-37B4-447D-B4C4-15DB005A589C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{92ED77A6-37B4-447D-B4C4-15DB005A589C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{92ED77A6-37B4-447D-B4C4-15DB005A589C}.Release|Any CPU.Build.0 = Release|Any CPU
{E7F491CC-C37E-4A56-9CA7-8F77F59E0614}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E7F491CC-C37E-4A56-9CA7-8F77F59E0614}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E7F491CC-C37E-4A56-9CA7-8F77F59E0614}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E7F491CC-C37E-4A56-9CA7-8F77F59E0614}.Release|Any CPU.Build.0 = Release|Any CPU
{54263F0D-23CB-4580-9133-03B2C3575919}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{54263F0D-23CB-4580-9133-03B2C3575919}.Debug|Any CPU.Build.0 = Debug|Any CPU
{54263F0D-23CB-4580-9133-03B2C3575919}.Release|Any CPU.ActiveCfg = Release|Any CPU
{54263F0D-23CB-4580-9133-03B2C3575919}.Release|Any CPU.Build.0 = Release|Any CPU
{EA60B549-F712-4ABE-8E44-FCA83B78C06E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EA60B549-F712-4ABE-8E44-FCA83B78C06E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EA60B549-F712-4ABE-8E44-FCA83B78C06E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EA60B549-F712-4ABE-8E44-FCA83B78C06E}.Release|Any CPU.Build.0 = Release|Any CPU
{0C3E7D40-E0B3-4B77-8139-0E85C3600688}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0C3E7D40-E0B3-4B77-8139-0E85C3600688}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0C3E7D40-E0B3-4B77-8139-0E85C3600688}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C3E7D40-E0B3-4B77-8139-0E85C3600688}.Release|Any CPU.Build.0 = Release|Any CPU
{1F9D7748-D099-4E25-97F5-9C969D6FF969}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1F9D7748-D099-4E25-97F5-9C969D6FF969}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1F9D7748-D099-4E25-97F5-9C969D6FF969}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1F9D7748-D099-4E25-97F5-9C969D6FF969}.Release|Any CPU.Build.0 = Release|Any CPU
{A885DBE2-4B82-432C-A77B-19844D7BBC96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A885DBE2-4B82-432C-A77B-19844D7BBC96}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A885DBE2-4B82-432C-A77B-19844D7BBC96}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A885DBE2-4B82-432C-A77B-19844D7BBC96}.Release|Any CPU.Build.0 = Release|Any CPU
{81234AFA-B4E7-4D0D-AB97-FD559C78EDA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{81234AFA-B4E7-4D0D-AB97-FD559C78EDA2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{81234AFA-B4E7-4D0D-AB97-FD559C78EDA2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{81234AFA-B4E7-4D0D-AB97-FD559C78EDA2}.Release|Any CPU.Build.0 = Release|Any CPU
{2770158A-D220-414B-ABC6-179371323579}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2770158A-D220-414B-ABC6-179371323579}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2770158A-D220-414B-ABC6-179371323579}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2770158A-D220-414B-ABC6-179371323579}.Release|Any CPU.Build.0 = Release|Any CPU
{41B784AA-3301-4126-AF9F-1D59BD04B0BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{41B784AA-3301-4126-AF9F-1D59BD04B0BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{41B784AA-3301-4126-AF9F-1D59BD04B0BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{41B784AA-3301-4126-AF9F-1D59BD04B0BF}.Release|Any CPU.Build.0 = Release|Any CPU
{6C7A1595-36D6-4229-BBB5-5A6B5791791D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6C7A1595-36D6-4229-BBB5-5A6B5791791D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6C7A1595-36D6-4229-BBB5-5A6B5791791D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6C7A1595-36D6-4229-BBB5-5A6B5791791D}.Release|Any CPU.Build.0 = Release|Any CPU
{E91B2E40-E428-43B3-8A43-09709F0E69E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E91B2E40-E428-43B3-8A43-09709F0E69E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E91B2E40-E428-43B3-8A43-09709F0E69E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E91B2E40-E428-43B3-8A43-09709F0E69E4}.Release|Any CPU.Build.0 = Release|Any CPU
{476D804B-BFEC-4D34-814C-DFFD97109989}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{476D804B-BFEC-4D34-814C-DFFD97109989}.Debug|Any CPU.Build.0 = Debug|Any CPU
{476D804B-BFEC-4D34-814C-DFFD97109989}.Release|Any CPU.ActiveCfg = Release|Any CPU
{476D804B-BFEC-4D34-814C-DFFD97109989}.Release|Any CPU.Build.0 = Release|Any CPU
{9A07D215-90AC-4BAF-BCDB-73D74FD3A5C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9A07D215-90AC-4BAF-BCDB-73D74FD3A5C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9A07D215-90AC-4BAF-BCDB-73D74FD3A5C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9A07D215-90AC-4BAF-BCDB-73D74FD3A5C5}.Release|Any CPU.Build.0 = Release|Any CPU
{4298057B-24E0-47B3-BB76-C17E81AF6B39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4298057B-24E0-47B3-BB76-C17E81AF6B39}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4298057B-24E0-47B3-BB76-C17E81AF6B39}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4298057B-24E0-47B3-BB76-C17E81AF6B39}.Release|Any CPU.Build.0 = Release|Any CPU
{921CF401-4C2F-4C6D-A750-0B5DC457C1F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{921CF401-4C2F-4C6D-A750-0B5DC457C1F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{921CF401-4C2F-4C6D-A750-0B5DC457C1F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{921CF401-4C2F-4C6D-A750-0B5DC457C1F1}.Release|Any CPU.Build.0 = Release|Any CPU
{6B0232B7-5F29-4FB5-B383-1AA02DFE1089}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6B0232B7-5F29-4FB5-B383-1AA02DFE1089}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6B0232B7-5F29-4FB5-B383-1AA02DFE1089}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6B0232B7-5F29-4FB5-B383-1AA02DFE1089}.Release|Any CPU.Build.0 = Release|Any CPU
{FBD12B0B-6731-4DD4-9C13-86F34593E974}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FBD12B0B-6731-4DD4-9C13-86F34593E974}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FBD12B0B-6731-4DD4-9C13-86F34593E974}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FBD12B0B-6731-4DD4-9C13-86F34593E974}.Release|Any CPU.Build.0 = Release|Any CPU
{4EF4364F-6E64-43CE-BED1-E6FE01024899}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4EF4364F-6E64-43CE-BED1-E6FE01024899}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4EF4364F-6E64-43CE-BED1-E6FE01024899}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4EF4364F-6E64-43CE-BED1-E6FE01024899}.Release|Any CPU.Build.0 = Release|Any CPU
{5697662B-5F14-4E32-BB11-1D8942782AB6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5697662B-5F14-4E32-BB11-1D8942782AB6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5697662B-5F14-4E32-BB11-1D8942782AB6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5697662B-5F14-4E32-BB11-1D8942782AB6}.Release|Any CPU.Build.0 = Release|Any CPU
{5FDAF679-DE5A-4C73-A49B-8ABCF2399229}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5FDAF679-DE5A-4C73-A49B-8ABCF2399229}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5FDAF679-DE5A-4C73-A49B-8ABCF2399229}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5FDAF679-DE5A-4C73-A49B-8ABCF2399229}.Release|Any CPU.Build.0 = Release|Any CPU
{9AAB00EC-ED6F-4462-82DE-7D864A9DB6C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9AAB00EC-ED6F-4462-82DE-7D864A9DB6C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9AAB00EC-ED6F-4462-82DE-7D864A9DB6C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9AAB00EC-ED6F-4462-82DE-7D864A9DB6C5}.Release|Any CPU.Build.0 = Release|Any CPU
{A2DF46DE-50D7-4887-8C9D-4BD79CA19FAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A2DF46DE-50D7-4887-8C9D-4BD79CA19FAA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A2DF46DE-50D7-4887-8C9D-4BD79CA19FAA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A2DF46DE-50D7-4887-8C9D-4BD79CA19FAA}.Release|Any CPU.Build.0 = Release|Any CPU
{011E70E1-152A-47BB-AF83-12DD12B125ED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{011E70E1-152A-47BB-AF83-12DD12B125ED}.Debug|Any CPU.Build.0 = Debug|Any CPU
{011E70E1-152A-47BB-AF83-12DD12B125ED}.Release|Any CPU.ActiveCfg = Release|Any CPU
{011E70E1-152A-47BB-AF83-12DD12B125ED}.Release|Any CPU.Build.0 = Release|Any CPU
{171A87CB-393C-4296-913F-E704CD8CEAE9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{171A87CB-393C-4296-913F-E704CD8CEAE9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{171A87CB-393C-4296-913F-E704CD8CEAE9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{171A87CB-393C-4296-913F-E704CD8CEAE9}.Release|Any CPU.Build.0 = Release|Any CPU
{662476AA-5875-4E74-B992-DDF309168EFB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{662476AA-5875-4E74-B992-DDF309168EFB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{662476AA-5875-4E74-B992-DDF309168EFB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{662476AA-5875-4E74-B992-DDF309168EFB}.Release|Any CPU.Build.0 = Release|Any CPU
{DEDE8442-03CA-48CF-99B9-EA224D89D148}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DEDE8442-03CA-48CF-99B9-EA224D89D148}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DEDE8442-03CA-48CF-99B9-EA224D89D148}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DEDE8442-03CA-48CF-99B9-EA224D89D148}.Release|Any CPU.Build.0 = Release|Any CPU
{EF4F6280-14D1-49D4-8095-1AC36E169AA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EF4F6280-14D1-49D4-8095-1AC36E169AA8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EF4F6280-14D1-49D4-8095-1AC36E169AA8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EF4F6280-14D1-49D4-8095-1AC36E169AA8}.Release|Any CPU.Build.0 = Release|Any CPU
{A0C0B77C-6C7B-4EC2-AC61-EA1F489811B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A0C0B77C-6C7B-4EC2-AC61-EA1F489811B9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A0C0B77C-6C7B-4EC2-AC61-EA1F489811B9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A0C0B77C-6C7B-4EC2-AC61-EA1F489811B9}.Release|Any CPU.Build.0 = Release|Any CPU
{800DB925-6014-4136-AC01-3356CF7CADD3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{800DB925-6014-4136-AC01-3356CF7CADD3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{800DB925-6014-4136-AC01-3356CF7CADD3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{800DB925-6014-4136-AC01-3356CF7CADD3}.Release|Any CPU.Build.0 = Release|Any CPU
{9C99621C-343E-479C-A943-332DB6129B71}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9C99621C-343E-479C-A943-332DB6129B71}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9C99621C-343E-479C-A943-332DB6129B71}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9C99621C-343E-479C-A943-332DB6129B71}.Release|Any CPU.Build.0 = Release|Any CPU
{13A59BD9-9475-4991-B74D-7C20F1C63409}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{13A59BD9-9475-4991-B74D-7C20F1C63409}.Debug|Any CPU.Build.0 = Debug|Any CPU
{13A59BD9-9475-4991-B74D-7C20F1C63409}.Release|Any CPU.ActiveCfg = Release|Any CPU
{13A59BD9-9475-4991-B74D-7C20F1C63409}.Release|Any CPU.Build.0 = Release|Any CPU
{62AF4BD3-DCAE-4D44-AA5B-991C1071166B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{62AF4BD3-DCAE-4D44-AA5B-991C1071166B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{62AF4BD3-DCAE-4D44-AA5B-991C1071166B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{62AF4BD3-DCAE-4D44-AA5B-991C1071166B}.Release|Any CPU.Build.0 = Release|Any CPU
{777C04B8-1BD5-43D7-B3CD-D2189DFABCF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{777C04B8-1BD5-43D7-B3CD-D2189DFABCF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{777C04B8-1BD5-43D7-B3CD-D2189DFABCF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{777C04B8-1BD5-43D7-B3CD-D2189DFABCF3}.Release|Any CPU.Build.0 = Release|Any CPU
{99B4D965-8782-4694-8DFA-B7A3630CEF60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{99B4D965-8782-4694-8DFA-B7A3630CEF60}.Debug|Any CPU.Build.0 = Debug|Any CPU
{99B4D965-8782-4694-8DFA-B7A3630CEF60}.Release|Any CPU.ActiveCfg = Release|Any CPU
{99B4D965-8782-4694-8DFA-B7A3630CEF60}.Release|Any CPU.Build.0 = Release|Any CPU
{B4856711-6D4C-4246-A686-49458D4C1301}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B4856711-6D4C-4246-A686-49458D4C1301}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B4856711-6D4C-4246-A686-49458D4C1301}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B4856711-6D4C-4246-A686-49458D4C1301}.Release|Any CPU.Build.0 = Release|Any CPU
{7BE494FC-4B0D-4340-A62A-9C9F3E7389FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7BE494FC-4B0D-4340-A62A-9C9F3E7389FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7BE494FC-4B0D-4340-A62A-9C9F3E7389FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7BE494FC-4B0D-4340-A62A-9C9F3E7389FE}.Release|Any CPU.Build.0 = Release|Any CPU
{19545B37-8518-4BDD-AD49-00C031FB3C2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{19545B37-8518-4BDD-AD49-00C031FB3C2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{19545B37-8518-4BDD-AD49-00C031FB3C2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{19545B37-8518-4BDD-AD49-00C031FB3C2A}.Release|Any CPU.Build.0 = Release|Any CPU
{79C12C80-B27B-41FB-AE79-A3BB74CFA782}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{79C12C80-B27B-41FB-AE79-A3BB74CFA782}.Debug|Any CPU.Build.0 = Debug|Any CPU
{79C12C80-B27B-41FB-AE79-A3BB74CFA782}.Release|Any CPU.ActiveCfg = Release|Any CPU
{79C12C80-B27B-41FB-AE79-A3BB74CFA782}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{F2F81E76-6A0E-466B-B673-EBBF1A9ED075} = {77C7929A-2EED-4AA6-8705-B5C443C8AA0F}
{A533C800-3DC3-4D04-90A7-0CE7A1E6BDB3} = {F1D0972B-38CF-49C2-9F4B-4C5DE02FB71D}
{E69578EB-B456-4062-A645-877CD964528B} = {F1D0972B-38CF-49C2-9F4B-4C5DE02FB71D}
{C1542297-8763-4DF4-957C-489ED771C21D} = {7CB2F02E-03FA-4FFF-89A5-C51F107623FD}
{D2E73927-5966-445C-94E9-EFE6F269C8D5} = {7CB2F02E-03FA-4FFF-89A5-C51F107623FD}
{9A4E3A68-904B-4835-A3C8-F664B73098DB} = {E359BB2B-9AEC-497D-B321-7DF2450C3B8E}
{FF3E6E08-E8E4-4523-B526-847CD989279F} = {E359BB2B-9AEC-497D-B321-7DF2450C3B8E}
{0935622B-9377-4056-8343-AE6ECDC274CF} = {E359BB2B-9AEC-497D-B321-7DF2450C3B8E}
{DE9130A4-F30A-49D7-8834-41DE3021218B} = {0169B149-FB8B-46F4-9EF7-8A0E69F8FAAF}
{2C7DD1DA-C229-4D9E-9AF0-BCD5CD3E4948} = {7CB2F02E-03FA-4FFF-89A5-C51F107623FD}
{5B7FB835-3FFF-4BC2-99C5-A5B5FAE3C818} = {7C87CAF9-79D7-4C26-9FFB-F3F1FB6911F1}
{BE60E3D5-DE30-4BAB-8E7A-63B21D0E80D7} = {5B7FB835-3FFF-4BC2-99C5-A5B5FAE3C818}
{3277B1C0-BDFE-4460-9B0D-D9A661FB48DB} = {7C87CAF9-79D7-4C26-9FFB-F3F1FB6911F1}
{3862190B-E2C5-418E-AFDC-DB281FB5C705} = {7C87CAF9-79D7-4C26-9FFB-F3F1FB6911F1}
{4D492D62-5150-45F9-817F-C99562E364E2} = {E359BB2B-9AEC-497D-B321-7DF2450C3B8E}
@ -470,13 +631,41 @@ Global
{DB942F5A-D571-4DEA-B1A7-B6BE0E24E6ED} = {E359BB2B-9AEC-497D-B321-7DF2450C3B8E}
{B3F03725-23A0-4582-9526-F6A7E38F35CC} = {3862190B-E2C5-418E-AFDC-DB281FB5C705}
{13C10C9A-07E8-43EB-91F5-C2B116FBE0FC} = {3862190B-E2C5-418E-AFDC-DB281FB5C705}
{972396A8-E35B-499C-9BA1-765E9B8822E1} = {77C7929A-2EED-4AA6-8705-B5C443C8AA0F}
{08D29501-F0A3-468F-B18D-BD1821A72383} = {5B7FB835-3FFF-4BC2-99C5-A5B5FAE3C818}
{64E3D8BB-93AB-4571-93F7-ED8D64DFFD06} = {5B7FB835-3FFF-4BC2-99C5-A5B5FAE3C818}
{DFB0AD2F-11BE-4BCD-A77B-1018C3344FA8} = {3277B1C0-BDFE-4460-9B0D-D9A661FB48DB}
{92ED77A6-37B4-447D-B4C4-15DB005A589C} = {3277B1C0-BDFE-4460-9B0D-D9A661FB48DB}
{E7F491CC-C37E-4A56-9CA7-8F77F59E0614} = {3277B1C0-BDFE-4460-9B0D-D9A661FB48DB}
{54263F0D-23CB-4580-9133-03B2C3575919} = {3277B1C0-BDFE-4460-9B0D-D9A661FB48DB}
{EA60B549-F712-4ABE-8E44-FCA83B78C06E} = {3277B1C0-BDFE-4460-9B0D-D9A661FB48DB}
{0C3E7D40-E0B3-4B77-8139-0E85C3600688} = {3277B1C0-BDFE-4460-9B0D-D9A661FB48DB}
{1F9D7748-D099-4E25-97F5-9C969D6FF969} = {3277B1C0-BDFE-4460-9B0D-D9A661FB48DB}
{81234AFA-B4E7-4D0D-AB97-FD559C78EDA2} = {3277B1C0-BDFE-4460-9B0D-D9A661FB48DB}
{41B784AA-3301-4126-AF9F-1D59BD04B0BF} = {3277B1C0-BDFE-4460-9B0D-D9A661FB48DB}
{6C7A1595-36D6-4229-BBB5-5A6B5791791D} = {3862190B-E2C5-418E-AFDC-DB281FB5C705}
{9A07D215-90AC-4BAF-BCDB-73D74FD3A5C5} = {3862190B-E2C5-418E-AFDC-DB281FB5C705}
{5FDAF679-DE5A-4C73-A49B-8ABCF2399229} = {77C7929A-2EED-4AA6-8705-B5C443C8AA0F}
{9AAB00EC-ED6F-4462-82DE-7D864A9DB6C5} = {3862190B-E2C5-418E-AFDC-DB281FB5C705}
{A2DF46DE-50D7-4887-8C9D-4BD79CA19FAA} = {3862190B-E2C5-418E-AFDC-DB281FB5C705}
{DEDE8442-03CA-48CF-99B9-EA224D89D148} = {5B7FB835-3FFF-4BC2-99C5-A5B5FAE3C818}
{EF4F6280-14D1-49D4-8095-1AC36E169AA8} = {5B7FB835-3FFF-4BC2-99C5-A5B5FAE3C818}
{A0C0B77C-6C7B-4EC2-AC61-EA1F489811B9} = {5B7FB835-3FFF-4BC2-99C5-A5B5FAE3C818}
{800DB925-6014-4136-AC01-3356CF7CADD3} = {5B7FB835-3FFF-4BC2-99C5-A5B5FAE3C818}
{9C99621C-343E-479C-A943-332DB6129B71} = {5B7FB835-3FFF-4BC2-99C5-A5B5FAE3C818}
{62AF4BD3-DCAE-4D44-AA5B-991C1071166B} = {5B7FB835-3FFF-4BC2-99C5-A5B5FAE3C818}
{6D4B4FB2-0A8A-4044-948B-C063FD340439} = {A49299FB-C5CD-4E0E-B7E1-B7867BBD67CC}
{494902DD-C63F-48E0-BED3-B58EFB4051C8} = {A49299FB-C5CD-4E0E-B7E1-B7867BBD67CC}
{A0CB9A10-F22D-4E66-A449-74B3D0361A9C} = {A49299FB-C5CD-4E0E-B7E1-B7867BBD67CC}
{1C459B5B-C702-46FF-BF1A-EE795E420FFA} = {A49299FB-C5CD-4E0E-B7E1-B7867BBD67CC}
{99B4D965-8782-4694-8DFA-B7A3630CEF60} = {3862190B-E2C5-418E-AFDC-DB281FB5C705}
{B4856711-6D4C-4246-A686-49458D4C1301} = {5B7FB835-3FFF-4BC2-99C5-A5B5FAE3C818}
{52AF6D7D-9E66-4234-9A2C-5D16C6F22B40} = {7C87CAF9-79D7-4C26-9FFB-F3F1FB6911F1}
{17A22B0E-6EC3-4A39-B955-0A486AD06699} = {52AF6D7D-9E66-4234-9A2C-5D16C6F22B40}
{A115CE4C-71A8-4B95-96A5-C1DF46FD94C2} = {7C87CAF9-79D7-4C26-9FFB-F3F1FB6911F1}
{7BE494FC-4B0D-4340-A62A-9C9F3E7389FE} = {A115CE4C-71A8-4B95-96A5-C1DF46FD94C2}
{19545B37-8518-4BDD-AD49-00C031FB3C2A} = {3862190B-E2C5-418E-AFDC-DB281FB5C705}
{87A20A76-D524-4AAC-AF92-8725BFED0415} = {A49299FB-C5CD-4E0E-B7E1-B7867BBD67CC}
{993E65E5-E71B-40FD-871C-60A9EBD59724} = {A49299FB-C5CD-4E0E-B7E1-B7867BBD67CC}
{44982E0D-C8C6-42DC-9F8F-714981F27CE6} = {7CB2F02E-03FA-4FFF-89A5-C51F107623FD}
{79C12C80-B27B-41FB-AE79-A3BB74CFA782} = {3277B1C0-BDFE-4460-9B0D-D9A661FB48DB}
{02EA681E-C7D8-13C7-8484-4AC65E1B71E8} = {A49299FB-C5CD-4E0E-B7E1-B7867BBD67CC}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {55639B5C-0770-4A22-AB56-859604650521}

333
README.md
View File

@ -2,151 +2,294 @@
[![Slack](https://img.shields.io/badge/slack-@cncf/otel/dotnet-brightgreen.svg?logo=slack)](https://cloud-native.slack.com/archives/C01N3BC2W7Q)
[![codecov.io](https://codecov.io/gh/open-telemetry/opentelemetry-dotnet/branch/main/graphs/badge.svg?)](https://codecov.io/gh/open-telemetry/opentelemetry-dotnet/)
[![Release](https://img.shields.io/github/v/release/open-telemetry/opentelemetry-dotnet)](https://github.com/open-telemetry/opentelemetry-dotnet/releases/)
[![Nuget](https://img.shields.io/nuget/v/OpenTelemetry.svg)](https://www.nuget.org/profiles/OpenTelemetry)
[![NuGet](https://img.shields.io/nuget/dt/OpenTelemetry.svg)](https://www.nuget.org/profiles/OpenTelemetry)
[![Linux](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/linux-ci.yml/badge.svg?branch=main)](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/linux-ci.yml)
[![Windows](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/windows-ci.yml/badge.svg?branch=main)](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/windows-ci.yml)
[![Build](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/ci.yml)
The .NET [OpenTelemetry](https://opentelemetry.io/) client.
[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/open-telemetry/opentelemetry-dotnet/badge)](https://scorecard.dev/viewer/?uri=github.com/open-telemetry/opentelemetry-dotnet)
[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/10017/badge)](https://www.bestpractices.dev/projects/10017)
[![FOSSA License Status](https://app.fossa.com/api/projects/custom%2B162%2Fgithub.com%2Fopen-telemetry%2Fopentelemetry-dotnet.svg?type=shield&issueType=license)](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fopen-telemetry%2Fopentelemetry-dotnet?ref=badge_shield&issueType=license)
[![FOSSA Security Status](https://app.fossa.com/api/projects/custom%2B162%2Fgithub.com%2Fopen-telemetry%2Fopentelemetry-dotnet.svg?type=shield&issueType=security)](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fopen-telemetry%2Fopentelemetry-dotnet?ref=badge_shield&issueType=security)
## Supported .NET Versions
The .NET [OpenTelemetry](https://opentelemetry.io/) implementation.
<details>
<summary>Table of Contents</summary>
* [Supported .NET versions](#supported-net-versions)
* [Project status](#project-status)
* [Getting started](#getting-started)
* [Getting started with Logging](#getting-started-with-logging)
* [Getting started with Metrics](#getting-started-with-metrics)
* [Getting started with Tracing](#getting-started-with-tracing)
* [Repository structure](#repository-structure)
* [Troubleshooting](#troubleshooting)
* [Extensibility](#extensibility)
* [Releases](#releases)
* [Contributing](#contributing)
* [References](#references)
</details>
## Supported .NET versions
Packages shipped from this repository generally support all the officially
supported versions of [.NET
Core](https://dotnet.microsoft.com/download/dotnet-core), and [.NET
Framework](https://dotnet.microsoft.com/download/dotnet-framework) except for
versions lower than `.NET Framework 4.6.1`.
Any exceptions to this are noted in the individual `README.md` files.
supported versions of [.NET](https://dotnet.microsoft.com/download/dotnet) and
[.NET Framework](https://dotnet.microsoft.com/download/dotnet-framework) (an
older Windows-based .NET implementation), except `.NET Framework 3.5`.
Any exceptions to this are noted in the individual `README.md`
files.
## Getting Started
## Project status
**Stable** across all 3 signals (`Logs`, `Metrics`, and `Traces`).
> [!CAUTION]
> Certain components, marked as
[pre-release](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/VERSIONING.md#pre-releases),
are still work in progress and can undergo breaking changes before stable
release. Check the individual `README.md` file for each component to understand its
current state.
To understand which portions of the [OpenTelemetry
Specification](https://github.com/open-telemetry/opentelemetry-specification)
have been implemented in OpenTelemetry .NET see: [Spec Compliance
Matrix](https://github.com/open-telemetry/opentelemetry-specification/blob/main/spec-compliance-matrix.md).
## Getting started
If you are new here, please read the getting started docs:
* [logs](./docs/logs/getting-started/README.md)
* [metrics](./docs/metrics/getting-started/README.md) (experimental)
* [trace](./docs/trace/getting-started/README.md)
### Getting started with Logging
This repository includes multiple installable components, available on
[NuGet](https://www.nuget.org/profiles/OpenTelemetry). Each component has its
individual `README.md` file, which covers the instruction on how to install and
how to get started. To find all the available components, please take a look at
the `src` folder.
If you are new to
[logging](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/README.md),
it is recommended to first follow the [getting started in 5 minutes - ASP.NET
Core Application](./docs/logs/getting-started-aspnetcore/README.md) guide or
the [getting started in 5 minutes - Console
Application](./docs/logs/getting-started-console/README.md) guide to get up
and running.
For general information and best practices see: [OpenTelemetry .NET
Logs](./docs/logs/README.md). For a more detailed explanation of SDK logging
features see: [Customizing OpenTelemetry .NET SDK for
Logs](./docs/logs/customizing-the-sdk/README.md).
### Getting started with Metrics
If you are new to
[metrics](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/README.md),
it is recommended to first follow the [getting started in 5 minutes - ASP.NET
Core Application](./docs/metrics/getting-started-aspnetcore/README.md) guide
or the [getting started in 5 minutes - Console
Application](./docs/metrics/getting-started-console/README.md) guide to get
up and running.
For general information and best practices see: [OpenTelemetry .NET
Metrics](./docs/metrics/README.md). For a more detailed explanation of SDK
metric features see: [Customizing OpenTelemetry .NET SDK for
Metrics](./docs/metrics/customizing-the-sdk/README.md).
### Getting started with Tracing
If you are new to
[traces](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/README.md),
it is recommended to first follow the [getting started in 5 minutes - ASP.NET
Core Application](./docs/trace/getting-started-aspnetcore/README.md) guide
or the [getting started in 5 minutes - Console
Application](./docs/trace/getting-started-console/README.md) guide to get up
and running.
For general information and best practices see: [OpenTelemetry .NET
Traces](./docs/trace/README.md). For a more detailed explanation of SDK tracing
features see: [Customizing OpenTelemetry .NET SDK for
Tracing](./docs/trace/customizing-the-sdk/README.md).
## Repository structure
This repository includes only what is defined in the [OpenTelemetry
Specification](https://github.com/open-telemetry/opentelemetry-specification)
and is shipped as separate packages through
[NuGet](https://www.nuget.org/profiles/OpenTelemetry). Each component has an
individual `README.md` and `CHANGELOG.md` file which covers the instructions on
how to install and get started, and details about the individual changes made
(respectively). To find all the available components, please take a look at the
`src` folder.
Here are the most commonly used components:
* [OpenTelemetry .NET API](./src/OpenTelemetry.Api/README.md)
* [OpenTelemetry .NET SDK](./src/OpenTelemetry/README.md)
Here are the [instrumentation
libraries](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#instrumentation-library):
* [ASP.NET](./src/OpenTelemetry.Instrumentation.AspNet/README.md)
* [ASP.NET Core](./src/OpenTelemetry.Instrumentation.AspNetCore/README.md)
* [Grpc.Net.Client](./src/OpenTelemetry.Instrumentation.GrpcNetClient/README.md)
* [HTTP clients](./src/OpenTelemetry.Instrumentation.Http/README.md)
* [Redis client](./src/OpenTelemetry.Instrumentation.StackExchangeRedis/README.md)
* [SQL client](./src/OpenTelemetry.Instrumentation.SqlClient/README.md)
* [OpenTelemetry API](./src/OpenTelemetry.Api/README.md)
* [OpenTelemetry SDK](./src/OpenTelemetry/README.md)
* [OpenTelemetry Hosting
Extensions](./src/OpenTelemetry.Extensions.Hosting/README.md)
Here are the [exporter
libraries](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#exporter-library):
* [Console](./src/OpenTelemetry.Exporter.Console/README.md)
* [In-memory](./src/OpenTelemetry.Exporter.InMemory/README.md)
* [Jaeger](./src/OpenTelemetry.Exporter.Jaeger/README.md)
* [OTLP](./src/OpenTelemetry.Exporter.OpenTelemetryProtocol/README.md)
(OpenTelemetry Protocol)
* [Prometheus AspNetCore](./src/OpenTelemetry.Exporter.Prometheus.AspNetCore/README.md)
* [Prometheus HttpListener](./src/OpenTelemetry.Exporter.Prometheus.HttpListener/README.md)
* [Zipkin](./src/OpenTelemetry.Exporter.Zipkin/README.md)
* [Prometheus](./src/OpenTelemetry.Exporter.Prometheus/README.md)
See the [OpenTelemetry registry](https://opentelemetry.io/registry/?s=net) for
more exporters.
Additional packages including [instrumentation
libraries](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#instrumentation-library),
exporters, resource detectors, and extensions can be found in the
[opentelemetry-dotnet-contrib
repository](https://github.com/open-telemetry/opentelemetry-dotnet-contrib)
and/or the [OpenTelemetry
registry](https://opentelemetry.io/ecosystem/registry/?language=dotnet).
## Customization
## Troubleshooting
OpenTelemetry .NET is designed to be customizable and extensible. Here are the
most common customization and extension scenarios:
For general instructions see:
[Troubleshooting](./src/OpenTelemetry/README.md#troubleshooting). Additionally
`README.md` files for individual components may contain more detailed
troubleshooting information.
* [Building a custom instrumentation
library](./docs/trace/extending-the-sdk/README.md#instrumentation-library)
* [Building a custom log
exporter/processor/sampler](./docs/logs/extending-the-sdk/README.md)
* [Building a custom trace
exporter/processor/sampler](./docs/trace/extending-the-sdk/README.md)
## Extensibility
OpenTelemetry .NET is designed to be extensible. Here are the most common
extension scenarios:
* Building a custom [instrumentation
library](./docs/trace/extending-the-sdk/README.md#instrumentation-library).
* Building a custom exporter for
[logs](./docs/logs/extending-the-sdk/README.md#exporter),
[metrics](./docs/metrics/extending-the-sdk/README.md#exporter), and
[traces](./docs/trace/extending-the-sdk/README.md#exporter).
* Building a custom processor for
[logs](./docs/logs/extending-the-sdk/README.md#processor) and
[traces](./docs/trace/extending-the-sdk/README.md#processor).
* Building a custom sampler for
[traces](./docs/trace/extending-the-sdk/README.md#sampler).
## Releases
For details about upcoming planned releases see:
[Milestones](https://github.com/open-telemetry/opentelemetry-dotnet/milestones).
The dates and features described in issues and milestones are estimates and
subject to change.
For highlights and annoucements for stable releases see: [Release
Notes](./RELEASENOTES.md).
To access packages, source code, and/or view a list of changes for all
components in a release see:
[Releases](https://github.com/open-telemetry/opentelemetry-dotnet/releases).
Nightly builds from this repo are published to [MyGet](https://www.myget.org),
and can be installed using the
`https://www.myget.org/F/opentelemetry/api/v3/index.json` source.
### Digital signing
Starting with the `1.10.0` release the DLLs included in the packages pushed to
NuGet are digitally signed using [Sigstore](https://www.sigstore.dev/). Within
each NuGet package the digital signature and its corresponding certificate file
are placed alongside the shipped DLL(s) in the `/lib` folder. When a project
targets multiple frameworks each target outputs a dedicated DLL and signing
artifacts into a sub folder based on the
[TFM](https://learn.microsoft.com/dotnet/standard/frameworks).
The digitial signature and certificate files share the same name prefix as the
DLL to ensure easy identification and association.
To verify the integrity of a DLL inside a NuGet package use the
[cosign](https://github.com/sigstore/cosign) tool from Sigstore:
```bash
cosign verify-blob \
--signature OpenTelemetry.dll-keyless.sig \
--certificate OpenTelemetry.dll-keyless.pem.cer \
--certificate-identity "https://github.com/open-telemetry/opentelemetry-dotnet/.github/workflows/publish-packages-1.0.yml@refs/tags/core-1.10.0-rc.1" \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
OpenTelemetry.dll
```
> [!NOTE]
> A successful verification outputs `Verify OK`.
For more verification options please refer to the [cosign
documentation](https://github.com/sigstore/cosign/blob/main/doc/cosign_verify-blob.md).
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md)
For information about contributing to the project see:
[CONTRIBUTING.md](CONTRIBUTING.md).
We meet weekly on Tuesdays, and the time of the meeting alternates between 11AM
We meet weekly on Tuesdays, and the time of the meeting alternates between 9AM
PT and 4PM PT. The meeting is subject to change depending on contributors'
availability. Check the [OpenTelemetry community
calendar](https://calendar.google.com/calendar/embed?src=google.com_b79e3e90j7bbsa2n2p5an5lf60%40group.calendar.google.com)
for specific dates.
Meetings take place via [Zoom video conference](https://zoom.us/j/8287234601).
The passcode is `77777`.
calendar](https://github.com/open-telemetry/community?tab=readme-ov-file#calendar)
for specific dates and for Zoom meeting links.
Meeting notes are available as a public [Google
doc](https://docs.google.com/document/d/1yjjD6aBcLxlRazYrawukDgrhZMObwHARJbB9glWdHj8/edit?usp=sharing).
If you have trouble accessing the doc, please get in touch on
[Slack](https://cloud-native.slack.com/archives/C01N3BC2W7Q).
Approvers
([@open-telemetry/dotnet-approvers](https://github.com/orgs/open-telemetry/teams/dotnet-approvers)):
The meeting is open for all to join. We invite everyone to join our meeting,
regardless of your experience level. Whether you're a seasoned OpenTelemetry
developer, just starting your journey, or simply curious about the work we do,
you're more than welcome to participate!
* [Bruno Garcia](https://github.com/bruno-garcia), Sentry
* [Eddy Nakamura](https://github.com/eddynaka), Microsoft
* [Paulo Janotti](https://github.com/pjanotti), Splunk
* [Reiley Yang](https://github.com/reyang), Microsoft
* [Utkarsh Umesan Pillai](https://github.com/utpilla), Microsoft
*Find more about the approver role in [community
repository](https://github.com/open-telemetry/community/blob/main/community-membership.md#approver).*
Maintainers
([@open-telemetry/dotnet-maintainers](https://github.com/orgs/open-telemetry/teams/dotnet-maintainers)):
### Maintainers
* [Alan West](https://github.com/alanwest), New Relic
* [Rajkumar Rangaraj](https://github.com/rajkumar-rangaraj), Microsoft
For more information about the maintainer role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#maintainer).
### Approvers
* [Cijo Thomas](https://github.com/cijothomas), Microsoft
* [Mike Goldsmith](https://github.com/MikeGoldsmith), Honeycomb
* [Mikel Blanchard](https://github.com/CodeBlanch), CoStar Group
* [Sergey Kanzhelev](https://github.com/SergeyKanzhelev), Google
* [Martin Costello](https://github.com/martincostello), Grafana Labs
* [Mikel Blanchard](https://github.com/CodeBlanch), Microsoft
* [Piotr Kie&#x142;kowicz](https://github.com/Kielek), Splunk
*Find more about the maintainer role in [community
repository](https://github.com/open-telemetry/community/blob/main/community-membership.md#maintainer).*
For more information about the approver role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#approver).
Triager
([@open-telemetry/dotnet-triagers](https://github.com/orgs/open-telemetry/teams/dotnet-triagers)):
### Triagers
* [Victor Lu](https://github.com/victlu), Microsoft
* [Martin Thwaites](https://github.com/martinjt), Honeycomb
* [Timothy "Mothra" Lee](https://github.com/TimothyMothra)
*Find more about the triager role in [community
repository](https://github.com/open-telemetry/community/blob/main/community-membership.md#triager).*
For more information about the triager role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#triager).
### Emeritus Maintainers
* [Mike Goldsmith](https://github.com/MikeGoldsmith)
* [Sergey Kanzhelev](https://github.com/SergeyKanzhelev)
* [Utkarsh Umesan Pillai](https://github.com/utpilla)
For more information about the emeritus role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#emeritus-maintainerapprovertriager).
### Emeritus Approvers
* [Bruno Garcia](https://github.com/bruno-garcia)
* [Eddy Nakamura](https://github.com/eddynaka)
* [Liudmila Molkova](https://github.com/lmolkova)
* [Paulo Janotti](https://github.com/pjanotti)
* [Reiley Yang](https://github.com/reyang)
* [Robert Paj&#x105;k](https://github.com/pellared)
* [Vishwesh Bankwar](https://github.com/vishweshbankwar)
For more information about the emeritus role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#emeritus-maintainerapprovertriager).
### Emeritus Triagers
* [Victor Lu](https://github.com/victlu)
For more information about the emeritus role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#emeritus-maintainerapprovertriager).
### Thanks to all the people who have contributed
[![contributors](https://contributors-img.web.app/image?repo=open-telemetry/opentelemetry-dotnet)](https://github.com/open-telemetry/opentelemetry-dotnet/graphs/contributors)
## Release Schedule
## References
Only the [core components](./VERSIONING.md#core-components) of the repo have
released a stable version. Components which are marked
[pre-release](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/VERSIONING.md#pre-releases),
are still work in progress and can undergo many breaking changes before stable
release.
See special note about [Metrics release
plans](https://github.com/open-telemetry/opentelemetry-dotnet/issues/1501).
See the [release
notes](https://github.com/open-telemetry/opentelemetry-dotnet/releases) for
existing releases.
See the [project
milestones](https://github.com/open-telemetry/opentelemetry-dotnet/milestones)
for details on upcoming releases. The dates and features described in issues and
milestones are estimates, and subject to change.
Daily builds from this repo are published to MyGet, and can be installed from
[this source](https://www.myget.org/F/opentelemetry/api/v3/index.json).
* [OpenTelemetry Project](https://opentelemetry.io/)
* [OpenTelemetry Specification](https://github.com/open-telemetry/opentelemetry-specification)

133
RELEASENOTES.md Normal file
View File

@ -0,0 +1,133 @@
# Release Notes
This file contains highlights and announcements covering all components.
For more details see `CHANGELOG.md` files maintained in the root source
directory of each individual package.
## 1.12.0
Release details: [1.12.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.12.0)
* **Breaking Change**: `OpenTelemetry.Exporter.OpenTelemetryProtocol` now
defaults to using OTLP/HTTP instead of OTLP/gRPC when targeting .NET Framework
and .NET Standard. This change may cause telemetry export to fail unless
appropriate adjustments are made. Explicitly setting OTLP/gRPC may result in a
`NotSupportedException` unless further configuration is applied. See
[#6209](https://github.com/open-telemetry/opentelemetry-dotnet/issues/6209) for
full details and mitigation guidance. [#6229](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6229)
## 1.11.1
Release details: [1.11.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.11.1)
* Fixed a bug preventing `OpenTelemetry.Exporter.OpenTelemetryProtocol` from
exporting telemetry on .NET Framework.
## 1.11.0
Release details: [1.11.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.11.0)
* `OpenTelemetry.Exporter.OpenTelemetryProtocol` no longer depends on the
`Google.Protobuf`, `Grpc`, or `Grpc.Net.Client` packages. Serialization and
transmission of outgoing data is now performed manually to improve the overall
performance.
## 1.10.0
Release details: [1.10.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.10.0)
* Bumped the package versions of `System.Diagnostic.DiagnosticSource` and other
Microsoft.Extensions.* packages to `9.0.0`.
* Added support for new APIs introduced in `System.Diagnostics.DiagnosticSource`
`9.0.0`:
* [InstrumentAdvice&lt;T&gt;](https://learn.microsoft.com/dotnet/api/system.diagnostics.metrics.instrumentadvice-1)
For details see: [Explicit bucket histogram
aggregation](./docs/metrics/customizing-the-sdk/README.md#explicit-bucket-histogram-aggregation).
* [Gauge&lt;T&gt;](https://learn.microsoft.com/dotnet/api/system.diagnostics.metrics.gauge-1)
* [ActivitySource.Tags](https://learn.microsoft.com/dotnet/api/system.diagnostics.activitysource.tags)
(supported in OtlpExporter & ConsoleExporter)
* Experimental features promoted to stable:
* `CardinalityLimit` can now be managed for individual metrics via the View
API. For details see: [Changing cardinality limit for a
Metric](./docs/metrics/customizing-the-sdk/README.md#changing-the-cardinality-limit-for-a-metric).
* The [overflow
attribute](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#overflow-attribute)
(`otel.metric.overflow`) behavior is now enabled by default. The
`OTEL_DOTNET_EXPERIMENTAL_METRICS_EMIT_OVERFLOW_ATTRIBUTE` environment
variable is no longer required. For details see: [Cardinality
Limits](./docs/metrics/README.md#cardinality-limits).
* The MetricPoint reclaim behavior is now enabled by default when Delta
aggregation temporality is used. The
`OTEL_DOTNET_EXPERIMENTAL_METRICS_RECLAIM_UNUSED_METRIC_POINTS` environment
variable is no longer required. For details see: [Cardinality
Limits](./docs/metrics/README.md#cardinality-limits).
* Added `OpenTelemetrySdk.Create` API for configuring OpenTelemetry .NET signals
(logging, tracing, and metrics) via a single builder. This new API simplifies
bootstrap and teardown, and supports cross-cutting extensions targeting
`IOpenTelemetryBuilder`.
* Removed out of support `net6.0` target and added `net9.0` target.
## 1.9.0
Release details: [1.9.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.9.0)
* `Exemplars` are now part of the stable API! For details see: [customizing
exemplars
collection](https://github.com/open-telemetry/opentelemetry-dotnet/tree/main/docs/metrics/customizing-the-sdk#exemplars).
* `WithLogging` is now part of the stable API! Logging, Metrics, and Tracing can
now all be configured using the `With` style and the builders finally have
parity in their APIs.
## 1.8.0
Release details: [1.8.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.8.0)
* `TracerProvider` sampler can now be configured via the `OTEL_TRACES_SAMPLER` &
`OTEL_TRACES_SAMPLER_ARG` envvars.
* A new `UseOtlpExporter` cross-cutting extension has been added to register the
`OtlpExporter` and enable all signals in a single call.
* `exception.type`, `exception.message`, `exception.stacktrace` will now
automatically be included by the `OtlpLogExporter` when logging exceptions.
Previously an experimental environment variable had to be set.
## 1.7.0
Release details: [1.7.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.7.0)
* Bumped the package versions of System.Diagnostic.DiagnosticSource and other
Microsoft.Extensions.* packages to `8.0.0`.
* Added `net8.0` targets to all the components.
* OTLP Exporter
* Updated to use `ILogger` `CategoryName` as the instrumentation scope for
logs.
* Added named options support for OTLP Log Exporter.
* Added support for instrumentation scope attributes in metrics.
* Added support under an experimental flag to emit log exception attributes.
* Added support under an experimental flag to emit log eventId and eventName.
attributes.
* Added support for the
[IMetricsBuilder](https://learn.microsoft.com/dotnet/api/microsoft.extensions.diagnostics.metrics.imetricsbuilder)
API.
* Added an experimental opt-in metrics feature to reclaim unused MetricPoints
which enables a higher number of unique dimension combinations to be emitted.
See [reclaim unused metric
points](https://github.com/open-telemetry/opentelemetry-dotnet/blob/32c64d04defb5c92d056fd8817638151168b10da/docs/metrics/README.md#cardinality-limits)
for more details.

48
THIRD-PARTY-NOTICES.TXT Normal file
View File

@ -0,0 +1,48 @@
OpenTelemetry .NET uses third-party libraries or other resources that may be
distributed under licenses different than the OpenTelemetry .NET software.
The attached notices are provided for information only.
License notice for .NET
-------------------------------
The MIT License (MIT)
Copyright (c) .NET Foundation and Contributors
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
License notice for gRPC for .NET (https://github.com/grpc/grpc-dotnet)
----------------------------------------------------------------------------------------------
Copyright 2019 The gRPC Authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -28,13 +28,17 @@ versions [1.1.0, 2.0.0).
Core components refer to the set of components which are required as per the
spec. This includes API, SDK, and exporters which are required by the
specification. These exporters are OTLP, Jaeger, Zipkin, Console and InMemory.
specification. These exporters are OTLP, Zipkin, Console and InMemory.
The core components are always versioned and released together. For example, if
Zipkin exporter has a bug fix and is released as 1.0.1, then all other core
components are also released as 1.0.1, even if there is no code change in other
components.
Starting with 1.4.0,
[OpenTelemetry.Extensions.Hosting](./src/OpenTelemetry.Extensions.Hosting/README.md)
will also be versioned and released together as a core component.
## Pre-releases
Pre-release packages are denoted by appending identifiers such as -Alpha, -Beta,
@ -52,9 +56,9 @@ without corresponding changes here will result in build breaks - this helps
catch any unintended changes to public API from being shipped accidentally. This
also helps reviewers quickly understand if a given PR is proposing public API
changes. For example,
[this](https://github.com/open-telemetry/opentelemetry-dotnet/tree/master/src/OpenTelemetry.Instrumentation.AspNetCore/.publicApi)
[this](https://github.com/open-telemetry/opentelemetry-dotnet/tree/master/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/.publicApi)
shows the public APIs, per target framework for the
`OpenTelemetry.Instrumentation.AspNetCore` package.
`OpenTelemetry.Exporter.OpenTelemetryProtocol` package.
APIs which are released as part of stable packages will be listed in the
"Shipped.txt" file, and those APIs which are released as part of
@ -75,10 +79,7 @@ of separate packages.
OpenTelemetry .NET relies on .NET runtime to provide several instrumentation
APIs. Currently, `System.Diagnostics.DiagnosticSource` and
`Microsoft.Extensions.Logging.Abstractions` are the packages from .NET runtime
this repository is dependent on. In the future, APIs for Metrics, Propagators
etc. will also come from .NET runtime itself. Depending on whether .NET runtime
choses to use same package or separate package for these, users may be required
to install separate packages for instrumenting.
this repository is dependent on.
### Packaging non-stable signals

View File

@ -2,53 +2,78 @@
<Import Project=".\Common.props" />
<PropertyGroup>
<NoWarn>$(NoWarn),1574,1591</NoWarn>
<NoWarn>$(NoWarn),CS1574,CS1591</NoWarn>
<IsPackable>false</IsPackable>
<CodeAnalysisRuleSet>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'OpenTelemetry.sln'))\build\OpenTelemetry.test.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="$(MSBuildProjectName.Contains('.Tests'))">
<PropertyGroup>
<DefaultTargetFrameworkForExampleApps>net9.0</DefaultTargetFrameworkForExampleApps>
</PropertyGroup>
<PropertyGroup Condition="$(MSBuildProjectName.EndsWith('.Tests'))">
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup Condition="$(MSBuildProjectName.Contains('.Tests'))">
<ItemGroup Condition="$(MSBuildProjectName.EndsWith('.Tests'))">
<Content Include="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'OpenTelemetry.sln'))\build\xunit.runner.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<!--Temp workaround to allow using daily dotnet 6 builds-->
<!--<PackageReference Include="System.Runtime.CompilerServices.Unsafe" PrivateAssets="All" NoWarn="NU1605" Version="6.0.0-preview.4.21253.7" />-->
</ItemGroup>
</ItemGroup>
<PropertyGroup Label="Package versions used by test and example projects">
<!--
Please sort alphabetically.
Refer to https://docs.microsoft.com/en-us/nuget/concepts/package-versioning for semver syntax.
-->
<BenchmarkDotNetPkgVer>[0.12.1,0.13)</BenchmarkDotNetPkgVer>
<CommandLineParserPkgVer>[2.3.0,3.0)</CommandLineParserPkgVer>
<DotNetXUnitCliVer>[2.3.1,3.0)</DotNetXUnitCliVer>
<GoogleProtobufPkgVer>[3.15.5,4.0)</GoogleProtobufPkgVer>
<GrpcAspNetCorePkgVer>[2.27.0,3.0)</GrpcAspNetCorePkgVer>
<GrpcAspNetCoreServerPkgVer>[2.30.0, 3.0)</GrpcAspNetCoreServerPkgVer>
<GrpcToolsPkgVer>[2.25.0,3.0)</GrpcToolsPkgVer>
<MicrosoftAspNetMvcPkgVer>[5.2.7,6.0)</MicrosoftAspNetMvcPkgVer>
<MicrosoftAspNetWebApiWebHostPkgVer>[5.2.7,6.0)</MicrosoftAspNetWebApiWebHostPkgVer>
<MicrosoftAspNetWebPagesPkgVer>[3.2.7,4.0)</MicrosoftAspNetWebPagesPkgVer>
<MicrosoftExtensionsHostingPkgVer>[3.1.6,5.0)</MicrosoftExtensionsHostingPkgVer>
<MicrosoftExtensionsLoggingPkgVer>[5.0.0,6.0)</MicrosoftExtensionsLoggingPkgVer>
<MicrosoftExtensionsLoggingAbstractionsPkgVer>[5.0.0,6.0)</MicrosoftExtensionsLoggingAbstractionsPkgVer>
<MicrosoftExtensionsLoggingConsolePkgVer>[5.0.0,6.0)</MicrosoftExtensionsLoggingConsolePkgVer>
<MicrosoftNETTestSdkPkgVer>[16.10.0]</MicrosoftNETTestSdkPkgVer>
<NewtonsoftJsonPkgVer>[12.0.2,13.0)</NewtonsoftJsonPkgVer>
<MoqPkgVer>[4.14.5,5.0)</MoqPkgVer>
<RabbitMQClientPkgVer>[6.1.0,7.0)</RabbitMQClientPkgVer>
<StackExchangeRedisPkgVer>[2.1.58,3.0)</StackExchangeRedisPkgVer>
<SwashbuckleAspNetCorePkgVer>[5.0.0]</SwashbuckleAspNetCorePkgVer>
<XUnitRunnerVisualStudioPkgVer>[2.4.3,3.0)</XUnitRunnerVisualStudioPkgVer>
<XUnitPkgVer>[2.4.1,3.0)</XUnitPkgVer>
<ItemGroup Condition="'$(IsTestProject)' == 'true'">
<PackageReference Include="GitHubActionsTestLogger" />
<PackageReference Include="JunitXml.TestLogger" />
<PackageReference Include="Microsoft.NET.Test.Sdk" />
<PackageReference Include="xunit" />
<PackageReference Include="xunit.runner.visualstudio" PrivateAssets="All" />
</ItemGroup>
<ItemGroup Condition="'$(IsTestProject)' == 'true'">
<Compile Include="$(RepoRoot)\test\Shared\StrongNameTests.cs" Link="StrongNameTests.cs" />
</ItemGroup>
<PropertyGroup>
<!-- Running unit tests from VSCode does not work with .NET SDK 6.0.200 without ProduceReferenceAssemblyInOutDir -->
<!-- Related breaking change: https://docs.microsoft.com/en-us/dotnet/core/compatibility/sdk/6.0/write-reference-assemblies-to-obj -->
<ProduceReferenceAssemblyInOutDir>true</ProduceReferenceAssemblyInOutDir>
</PropertyGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
<Target Name="SkipVSTestForInvalidTargetFramework" BeforeTargets="VSTest" Condition="'$(IsTestProject)' == 'true'">
<!-- Note: When running dotnet test from CLI with the framework parameter
errors will be generated for projects which do not implement the requested
target. In order to enable running tests for a given framework across a
solution/project with mixed targets (eg: dotnet test OpenTelemetry.sln -f
net462) we convert this into a skip message only. -->
<PropertyGroup Condition="$(TargetFrameworks.Contains($(TargetFramework))) != 'true'">
<_SkipTests>true</_SkipTests>
<IsTestProject>false</IsTestProject>
</PropertyGroup>
<Message Importance="high" Text="Skipping test execution for '$(TargetPath)' because it does not contain the '$(TargetFramework)' target." Condition="'$(_SkipTests)' == 'true'" />
</Target>
<Target Name="ResolveExposedExperimentalFeatures" BeforeTargets="CoreCompile">
<!-- Note: What this does is look for $(ProjectReferenceName).BuildFlags.txt
files for all the dependencies of the project being compiled. If
ExposeExperimentalFeatures=true is found in those files we set compiler
constants for each project where experimental features were exposed.
Example:
OPENTELEMETRY_EXPORTER_INMEMORY_EXPERIMENTAL_FEATURES_EXPOSED;OPENTELEMETRY_EXPERIMENTAL_FEATURES_EXPOSED;OPENTELEMETRY_API_EXPERIMENTAL_FEATURES_EXPOSED;OPENTELEMETRY_API_PROVIDERBUILDEREXTENSIONS_EXPERIMENTAL_FEATURES_EXPOSED
-->
<ItemGroup>
<DependenciesWithExposedExperimentalFeatures
Include="@(_ResolvedProjectReferencePaths->'%(Filename)')"
Condition="$([System.IO.File]::Exists('%(RootDir)%(Directory)%(Filename).BuildFlags.txt')) AND $([System.IO.File]::ReadAllText('%(RootDir)%(Directory)%(Filename).BuildFlags.txt').Contains('ExposeExperimentalFeatures=true'))" />
<CompilerConstantsForDependenciesWithExposedExperimentalFeatures Include="@(DependenciesWithExposedExperimentalFeatures->'$([System.String]::Copy('%(DependenciesWithExposedExperimentalFeatures.Identity)').ToUpper().Replace('.', '_'))_EXPERIMENTAL_FEATURES_EXPOSED')" />
</ItemGroup>
<PropertyGroup Condition="'@(CompilerConstantsForDependenciesWithExposedExperimentalFeatures)' != ''">
<DefineConstants>$(DefineConstants);@(CompilerConstantsForDependenciesWithExposedExperimentalFeatures)</DefineConstants>
</PropertyGroup>
</Target>
</Project>

View File

@ -1,87 +1,194 @@
<Project>
<Import Project=".\Common.props" />
<ItemGroup>
<PackageReference Include="MinVer" Version="$(MinVerPkgVer)" Condition="'$(IntegrationBuild)' != 'true'">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<!-- Temporarily disable public API check till metrics get close to Release
<PackageReference Include="Microsoft.CodeAnalysis.PublicApiAnalyzers" Version="$(MicrosoftCodeAnalysisAnalyzersPkgVer)" Condition=" $(OS) == 'Windows_NT'">
<PrivateAssets>All</PrivateAssets>
</PackageReference>
-->
<ItemGroup Condition="'$(MinVerTagPrefix)' == 'core-' AND '$(CheckAPICompatibility)' == 'true'">
<PackageReference Include="Microsoft.DotNet.ApiCompat" Version="6.0.0-beta.21308.1" PrivateAssets="All" />
<ResolvedMatchingContract Include="..\LastMajorVersionBinaries\$(AssemblyName)\$(OTelPreviousStableVer)\lib\$(TargetFramework)\$(AssemblyName).dll" />
</ItemGroup>
<Target Name="PreBuild" BeforeTargets="PreBuildEvent" Condition="'$(MinVerTagPrefix)' == 'core-' AND '$(CheckAPICompatibility)' == 'true'">
<Exec Command="powershell -ExecutionPolicy Unrestricted -File &quot;$(RepoRoot)\build\PreBuild.ps1&quot; -package $(AssemblyName) -version &quot;$(OTelPreviousStableVer)&quot;" />
</Target>
<Target Name="FindContractDependencyPaths" BeforeTargets="ValidateApiCompatForSrc" AfterTargets="ResolveAssemblyReferences" Condition="'$(MinVerTagPrefix)' == 'core-' AND '$(CheckAPICompatibility)' == 'true'">
<ItemGroup>
<_ReferencePathDirectories Include="@(ReferencePath -> '%(RootDir)%(Directory)')" />
</ItemGroup>
<PropertyGroup>
<ContractDependencyPaths>@(_ReferencePathDirectories->Distinct())</ContractDependencyPaths>
</PropertyGroup>
</Target>
<PropertyGroup>
<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)/OpenTelemetry.prod.ruleset</CodeAnalysisRuleSet>
<NoWarn>$(NoWarn),1573,1712</NoWarn>
<PackageOutputPath Condition="$(Build_ArtifactStagingDirectory) != ''">$(Build_ArtifactStagingDirectory)</PackageOutputPath>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<!--<MinVerVerbosity>detailed</MinVerVerbosity>-->
</PropertyGroup>
<Target Name="AssemblyVersionTarget" AfterTargets="MinVer" Condition="'$(MinVerVersion)'!='' AND '$(BuildNumber)' != ''">
<PropertyGroup>
<FileVersion>$(MinVerMajor).$(MinVerMinor).$(MinVerPatch).$(BuildNumber)</FileVersion>
</PropertyGroup>
</Target>
<PropertyGroup Label="BuildFlags">
<ExposeExperimentalFeatures Condition="'$(ExposeExperimentalFeatures)' == ''">true</ExposeExperimentalFeatures>
<EnablePackageValidation Condition="'$(EnablePackageValidation)' == ''">false</EnablePackageValidation>
</PropertyGroup>
<PropertyGroup>
<PropertyGroup Label="PackageProperties">
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/open-telemetry/opentelemetry-dotnet</RepositoryUrl>
<PackageTags>Observability;OpenTelemetry;Monitoring;Telemetry;Tracing</PackageTags>
<PackageTags>Observability;OpenTelemetry;Monitoring;Telemetry;Tracing;Metrics;Logging</PackageTags>
<PackageIcon>opentelemetry-icon-color.png</PackageIcon>
<PackageProjectUrl>https://opentelemetry.io</PackageProjectUrl>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<Authors>OpenTelemetry Authors</Authors>
<Copyright>Copyright The OpenTelemetry Authors</Copyright>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<PackagePrimaryLicenseFile>$(RepoRoot)\LICENSE.TXT</PackagePrimaryLicenseFile>
<PackageThirdPartyNoticesFile>$(RepoRoot)\THIRD-PARTY-NOTICES.TXT</PackageThirdPartyNoticesFile>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageChangelogFile>CHANGELOG.md</PackageChangelogFile>
<PackageReleaseNotesFile>$(RepoRoot)\RELEASENOTES.md</PackageReleaseNotesFile>
</PropertyGroup>
<PropertyGroup Label="SourceLinkProperties">
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<ContinuousIntegrationBuild Condition="'$(Deterministic)'=='true'">true</ContinuousIntegrationBuild>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MinVer" PrivateAssets="All" Condition="'$(IntegrationBuild)' != 'true'" />
<PackageReference Include="Microsoft.CodeAnalysis.PublicApiAnalyzers" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)opentelemetry-icon-color.png" Pack="true" PackagePath="\" />
<SourceRoot Condition="'$(Deterministic)'=='true'" Include="$(MSBuildThisFileDirectory)/" />
<None Include="$(IntermediateOutputPath)$(ProjectName).BuildFlags.txt"
Link="$(ProjectName).BuildFlags.txt"
CopyToOutputDirectory="PreserveNewest"
Visible="false" />
<!-- Note: This includes all the PublicApiAnalyzers files in projects to make editing easier in the IDE -->
<None Include=".publicApi\**\PublicAPI.*.txt" />
</ItemGroup>
<PropertyGroup Label="SourceLink">
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
</PropertyGroup>
<Target Name="IncludeSigningSignaturesInPackages" BeforeTargets="_GetTargetFrameworksOutput">
<!-- Note: This target adds any signatures found to nuget packages -->
<ItemGroup>
<SignatureFiles Include="$(RepoRoot)\src\$(MSBuildProjectName)\bin\$(Configuration)\*\$(MSBuildProjectName).dll-keyless.sig" />
<Content Include="@(SignatureFiles)" Link="%(RecursiveDir)%(Filename)%(Extension)" PackagePath="lib" />
<CertificateFiles Include="$(RepoRoot)\src\$(MSBuildProjectName)\bin\$(Configuration)\*\$(MSBuildProjectName).dll-keyless.pem" />
<Content Include="@(CertificateFiles)" Link="%(RecursiveDir)%(Filename)%(Extension)" PackagePath="lib" />
</ItemGroup>
<ItemGroup Condition="'$(Deterministic)'=='true'">
<SourceRoot Include="$(MSBuildThisFileDirectory)/" />
</ItemGroup>
<Message Importance="high" Text="**IncludeSignaturesInPackagesDebug** SignatureFiles: @(SignatureFiles)" />
<Message Importance="high" Text="**IncludeCertificatesInPackagesDebug** SignatureFiles: @(CertificateFiles)" />
</Target>
<PropertyGroup Condition="'$(Deterministic)'=='true'">
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
</PropertyGroup>
<Target Name="AssemblyVersionTarget" AfterTargets="MinVer" Condition="'$(MinVerVersion)' != '' AND '$(BuildNumber)' != ''">
<!-- Note: $(BuildNumber) is typically only set for builds initiated by the
publish workflow. The goal here is to set the assembly FileVersion and
resolve ExposeExperimentalFeatures based on the version MinVer resolved from
the git tag -->
<PropertyGroup>
<FileVersion>$(MinVerMajor).$(MinVerMinor).$(MinVerPatch).$(BuildNumber)</FileVersion>
<ExposeExperimentalFeatures Condition="'$(MinVerPreRelease)' != ''">true</ExposeExperimentalFeatures>
<ExposeExperimentalFeatures Condition="'$(MinVerPreRelease)' == ''">false</ExposeExperimentalFeatures>
</PropertyGroup>
<!--PublicApi Analyzer-->
<ItemGroup>
<AdditionalFiles Include=".publicApi\$(TargetFramework)\PublicAPI.Shipped.txt" />
<AdditionalFiles Include=".publicApi\$(TargetFramework)\PublicAPI.Unshipped.txt" />
<None Include=".publicApi\*\PublicAPI.Shipped.txt" />
<None Include=".publicApi\*\PublicAPI.Unshipped.txt" />
</ItemGroup>
<Error
Condition="'$(MinVerTagPrefix)' == 'coreunstable-' AND ('$(MinVerPreRelease)' == '' OR $(MinVerPreRelease.StartsWith('rc')))"
Text="Unstable core packages cannot be released stable or as release candidates." />
<!-- Note: The '$(TargetFramework)' != '' check here is to reduce log spam
in builds like dotnet pack which fire MinVer but don't resolve the actual
TargetFramework -->
<Message
Condition="'$(TargetFramework)' != ''"
Importance="high"
Text="**AssemblyVersionDebug** TargetFramework: $(TargetFramework), MinVerVersion: $(MinVerVersion), BuildNumber: $(BuildNumber), FileVersion: $(FileVersion), ExposeExperimentalFeatures: $(ExposeExperimentalFeatures)" />
</Target>
<Target Name="EnsurePackageValidationBaselineVersion"
BeforeTargets="RunPackageValidation"
Condition="'$(DisablePackageBaselineValidation)' != 'true' AND '$(PackageValidationBaselineVersion)' == '' AND '$(MinVerTagPrefix)' != 'coreunstable-'">
<Error Text="Cannot perform package validation without a baseline package version." />
</Target>
<Target Name="IncludeReadmeAndReleaseNotesInPackages" BeforeTargets="_GetTargetFrameworksOutput">
<!-- Note: This target runs during pack to convert relative links in
markdowns into github permalinks which will work when rendered on Nuget. -->
<Exec
Command="git rev-parse HEAD"
ConsoleToMsBuild="True"
IgnoreExitCode="True"
StandardOutputImportance="low">
<Output PropertyName="GitCommitConsoleOutput" TaskParameter="ConsoleOutput"/>
<Output PropertyName="GitCommitExitCode" TaskParameter="ExitCode"/>
</Exec>
<Exec
Command="git remote get-url origin"
ConsoleToMsBuild="True"
IgnoreExitCode="True"
StandardOutputImportance="low">
<Output PropertyName="GitOriginConsoleOutput" TaskParameter="ConsoleOutput"/>
<Output PropertyName="GitOriginExitCode" TaskParameter="ExitCode"/>
</Exec>
<PropertyGroup>
<MarkdownCommentRegex>\[([^]]+?)\]\(\.(.+?)\)</MarkdownCommentRegex>
<GitHubRepoUrl>$(GitOriginConsoleOutput.Replace('.git',''))</GitHubRepoUrl>
<GitHubPermalinkUrl Condition="'$(PackTag)' != ''">$(GitHubRepoUrl)/blob/$(PackTag)</GitHubPermalinkUrl>
<GitHubPermalinkUrl Condition="'$(PackTag)' == ''">$(GitHubRepoUrl)/blob/$(GitCommitConsoleOutput)</GitHubPermalinkUrl>
</PropertyGroup>
<Message Importance="high" Text="**GitInformationDebug** GitCommitConsoleOutput: $(GitCommitConsoleOutput), GitCommitExitCode: $(GitCommitExitCode), GitOriginConsoleOutput: $(GitOriginConsoleOutput), GitOriginExitCode: $(GitOriginExitCode), GitHubPermalinkUrl: $(GitHubPermalinkUrl)" />
<ItemGroup>
<PackageMarkdownFiles Include="README.md" />
</ItemGroup>
<ItemGroup>
<PackageMarkdownFiles Update="@(PackageMarkdownFiles)" Path="$([MSBuild]::ValueOrDefault('%(FullPath)','').Replace('$(RepoRoot)', '').Replace('%(FileName)%(Extension)', ''))" />
</ItemGroup>
<WriteLinesToFile
File="$(IntermediateOutputPath)%(PackageMarkdownFiles.Filename)%(PackageMarkdownFiles.Extension)"
Lines="$([System.Text.RegularExpressions.Regex]::Replace($([System.IO.File]::ReadAllText(%(PackageMarkdownFiles.FullPath))), '$(MarkdownCommentRegex)', '[$1]($(GitHubPermalinkUrl)%(PackageMarkdownFiles.Path).$2)').Replace('\', '/'))"
Overwrite="true"
Encoding="UTF-8"/>
<PropertyGroup>
<_PackageReleaseNotesFilePath>$([System.IO.Path]::GetFullPath('$(PackageReleaseNotesFile)').Replace('$(RepoRoot)', '').Replace('\', '/'))</_PackageReleaseNotesFilePath>
<_PackageChangelogFilePath>$([System.IO.Path]::GetFullPath('$(PackageChangelogFile)').Replace('$(RepoRoot)', '').Replace('\', '/'))</_PackageChangelogFilePath>
<PackageReleaseNotes>
For highlights and announcements see: $(GitHubPermalinkUrl)$(_PackageReleaseNotesFilePath).
For detailed changes see: $(GitHubPermalinkUrl)$(_PackageChangelogFilePath).
</PackageReleaseNotes>
</PropertyGroup>
<ItemGroup>
<Content Include="$(IntermediateOutputPath)*.md" PackagePath="/" />
</ItemGroup>
</Target>
<Target Name="ResolveExposeExperimentalFeatures" BeforeTargets="CoreCompile" DependsOnTargets="AssemblyVersionTarget">
<!-- Note: This runs for all builds. The goal here is to set the
EXPOSE_EXPERIMENTAL_FEATURES compiler constant if
$(ExposeExperimentalFeatures) is enabled and then select the correct api
files for the analyzer -->
<PropertyGroup Condition="'$(ExposeExperimentalFeatures)' == 'true'">
<DefineConstants>$(DefineConstants);EXPOSE_EXPERIMENTAL_FEATURES</DefineConstants>
</PropertyGroup>
<!-- Note: We write a file into the output dir which captures the state of
ExposeExperimentalFeatures for the current compilation. This is used by
consuming projects (tests, benchmarks, examples, etc) to add compiler
constants which can be used to detect experimental APIs -->
<WriteLinesToFile
File="$(IntermediateOutputPath)$(ProjectName).BuildFlags.txt"
Lines="ExposeExperimentalFeatures=$(ExposeExperimentalFeatures)"
Overwrite="true"/>
<!-- Note: This selects the correct PublicApiAnalyzers files based on $(ExposeExperimentalFeatures) -->
<ItemGroup>
<AdditionalFiles Include=".publicApi\Stable\PublicAPI.*.txt" />
<AdditionalFiles Include=".publicApi\Stable\$(TargetFramework)\PublicAPI.*.txt" />
<AdditionalFiles Include=".publicApi\Experimental\PublicAPI.*.txt" Condition="'$(ExposeExperimentalFeatures)' == 'true'" />
<AdditionalFiles Include=".publicApi\Experimental\$(TargetFramework)\PublicAPI.*.txt" Condition="'$(ExposeExperimentalFeatures)' == 'true'" />
<AdditionalFiles Include=".publicApi\PublicAPI.*.txt" />
<AdditionalFiles Include=".publicApi\$(TargetFramework)\PublicAPI.*.txt" />
</ItemGroup>
<!-- Note: The '$(BuildNumber)' != '' check here is to reduce log spam in
local and CI builds. We only want to log this for the publish workflows
where official builds are generated -->
<Message
Condition="'$(BuildNumber)' != ''"
Importance="high"
Text="**ResolveExposeExperimentalFeaturesDebug** TargetFramework: $(TargetFramework), DefineConstants: $(DefineConstants)" />
</Target>
</Project>

View File

@ -1,10 +1,51 @@
<Project>
<PropertyGroup>
<LangVersion>8.0</LangVersion>
<LangVersion>latest</LangVersion>
<SignAssembly>true</SignAssembly>
<RepoRoot>$([System.IO.Directory]::GetParent($(MSBuildThisFileDirectory)).Parent.FullName)</RepoRoot>
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)debug.snk</AssemblyOriginatorKeyFile>
<DefineConstants>$(DefineConstants);SIGNED</DefineConstants>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<NuGetAudit>true</NuGetAudit>
<NuGetAuditMode>all</NuGetAuditMode>
<NuGetAuditLevel>low</NuGetAuditLevel>
<!-- Suppress warnings for repo code using experimental features -->
<NoWarn>$(NoWarn);OTEL1000;OTEL1001;OTEL1002;OTEL1004</NoWarn>
<AnalysisLevel>latest-All</AnalysisLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(SignAssembly)' == 'true' ">
<StrongNamePublicKey>002400000480000094000000060200000024000052534131000400000100010051C1562A090FB0C9F391012A32198B5E5D9A60E9B80FA2D7B434C9E5CCB7259BD606E66F9660676AFC6692B8CDC6793D190904551D2103B7B22FA636DCBB8208839785BA402EA08FC00C8F1500CCEF28BBF599AA64FFB1E1D5DC1BF3420A3777BADFE697856E9D52070A50C3EA5821C80BEF17CA3ACFFA28F89DD413F096F898</StrongNamePublicKey>
</PropertyGroup>
<PropertyGroup Label="BuildFlags">
<RunningDotNetPack Condition="'$(RunningDotNetPack)' == ''">false</RunningDotNetPack>
</PropertyGroup>
<!-- OmniSharp/VS Code requires TargetFrameworks to be in descending order for IntelliSense and analysis. -->
<PropertyGroup>
<NetFrameworkMinimumSupportedVersion>net462</NetFrameworkMinimumSupportedVersion>
<NetFrameworkSupportedVersions>net481;net48;net472;net471;net47;net462</NetFrameworkSupportedVersions>
<!-- production TFMs -->
<TargetFrameworksForLibraries>net9.0;net8.0;netstandard2.0;$(NetFrameworkMinimumSupportedVersion)</TargetFrameworksForLibraries>
<TargetFrameworksForLibrariesExtended>net9.0;net8.0;netstandard2.1;netstandard2.0;$(NetFrameworkMinimumSupportedVersion)</TargetFrameworksForLibrariesExtended>
<TargetFrameworksForPrometheusAspNetCore>net9.0;net8.0</TargetFrameworksForPrometheusAspNetCore>
<TargetFrameworksRequiringSystemTextJsonDirectReference>net8.0;netstandard2.1;netstandard2.0;$(NetFrameworkMinimumSupportedVersion)</TargetFrameworksRequiringSystemTextJsonDirectReference>
<!-- non-production TFMs -->
<TargetFrameworksForAspNetCoreTests>net9.0;net8.0</TargetFrameworksForAspNetCoreTests>
<TargetFrameworksForAotCompatibilityTests>net9.0;net8.0</TargetFrameworksForAotCompatibilityTests>
<TargetFrameworksForDocs>net9.0;net8.0</TargetFrameworksForDocs>
<TargetFrameworksForDocs Condition="$(OS) == 'Windows_NT' And '$(UsingMicrosoftNETSdkWeb)' != 'True'">
$(TargetFrameworksForDocs);$(NetFrameworkSupportedVersions)
</TargetFrameworksForDocs>
<TargetFrameworksForTests>net9.0;net8.0</TargetFrameworksForTests>
<TargetFrameworksForTests Condition="$(OS) == 'Windows_NT'">
$(TargetFrameworksForTests);$(NetFrameworkMinimumSupportedVersion)
</TargetFrameworksForTests>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
@ -14,37 +55,7 @@
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Label="Package versions used in this repository">
<!--
Please sort alphabetically.
Refer to https://docs.microsoft.com/en-us/nuget/concepts/package-versioning for semver syntax.
-->
<MinVerPkgVer>[2.3.0,3.0)</MinVerPkgVer>
<GoogleProtobufPkgVer>[3.15.5,4.0)</GoogleProtobufPkgVer>
<GrpcPkgVer>[2.23.0,3.0)</GrpcPkgVer>
<GrpcNetClientPkgVer>[2.32.0,3.0)</GrpcNetClientPkgVer>
<GrpcToolsPkgVer>[2.25.0,3.0)</GrpcToolsPkgVer>
<MicrosoftAspNetCoreHttpAbstractionsPkgVer>[2.1.1,6.0)</MicrosoftAspNetCoreHttpAbstractionsPkgVer>
<MicrosoftAspNetCoreHttpFeaturesPkgVer>[2.1.1,6.0)</MicrosoftAspNetCoreHttpFeaturesPkgVer>
<MicrosoftCodeAnalysisAnalyzersPkgVer>[3.3.1]</MicrosoftCodeAnalysisAnalyzersPkgVer>
<MicrosoftCodeCoveragePkgVer>[16.10.0]</MicrosoftCodeCoveragePkgVer>
<MicrosoftExtensionsHostingAbstractionsPkgVer>[2.1.0,)</MicrosoftExtensionsHostingAbstractionsPkgVer>
<MicrosoftExtensionsLoggingPkgVer>[2.1.0,)</MicrosoftExtensionsLoggingPkgVer>
<MicrosoftExtensionsLoggingConfigurationPkgVer>[2.1.0,)</MicrosoftExtensionsLoggingConfigurationPkgVer>
<MicrosoftExtensionsOptionsPkgVer>[2.1.0,)</MicrosoftExtensionsOptionsPkgVer>
<MicrosoftNETFrameworkReferenceAssembliesPkgVer>[1.0.0,2.0)</MicrosoftNETFrameworkReferenceAssembliesPkgVer>
<MicrosoftSourceLinkGitHubPkgVer>[1.0.0,2.0)</MicrosoftSourceLinkGitHubPkgVer>
<OpenTracingPkgVer>[0.12.1,0.13)</OpenTracingPkgVer>
<OTelPreviousStableVer>1.1.0</OTelPreviousStableVer>
<StackExchangeRedisPkgVer>[2.1.58,3.0)</StackExchangeRedisPkgVer>
<StyleCopAnalyzersPkgVer>[1.1.118,2.0)</StyleCopAnalyzersPkgVer>
<SystemCollectionsImmutablePkgVer>1.4.0</SystemCollectionsImmutablePkgVer>
<SystemDiagnosticSourcePkgVer>6.0.0-preview.6.21352.12</SystemDiagnosticSourcePkgVer>
<SystemReflectionEmitLightweightPkgVer>4.7.0</SystemReflectionEmitLightweightPkgVer>
<SystemTextJsonPkgVer>4.7.0</SystemTextJsonPkgVer>
<SystemThreadingTasksExtensionsPkgVer>4.5.3</SystemThreadingTasksExtensionsPkgVer>
<MSBuildTreatWarningsAsErrors>true</MSBuildTreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
@ -52,34 +63,16 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="$(MicrosoftNETFrameworkReferenceAssembliesPkgVer)" PrivateAssets="All" />
<PackageReference Include="StyleCop.Analyzers" Version="$(StyleCopAnalyzersPkgVer)" Condition="'$(SkipAnalysis)'!='true'">
<PrivateAssets>All</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.CodeCoverage" Version="$(MicrosoftCodeCoveragePkgVer)" PrivateAssets="All" Condition="'$(Configuration)'=='Release'" />
<!--<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="$(MicrosoftCodeAnalysisAnalyzersPkgVer)" Condition="'$(SkipAnalysis)'!='true'">
<PrivateAssets>all</PrivateAssets>
</PackageReference>-->
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" PrivateAssets="All" />
<PackageReference Include="StyleCop.Analyzers" PrivateAssets="All" Condition="'$(SkipAnalysis)'!='true'" />
</ItemGroup>
<ItemGroup Condition="'$(IncludeDiagnosticSourceInstrumentationHelpers)'=='true'">
<Compile Include="$(RepoRoot)\src\OpenTelemetry\Internal\ActivityInstrumentationHelper.cs" Link="Includes\ActivityInstrumentationHelper.cs" />
<Compile Include="$(RepoRoot)\src\OpenTelemetry\DiagnosticSourceInstrumentation\DiagnosticSourceListener.cs" Link="Includes\DiagnosticSourceListener.cs" />
<Compile Include="$(RepoRoot)\src\OpenTelemetry\DiagnosticSourceInstrumentation\DiagnosticSourceSubscriber.cs" Link="Includes\DiagnosticSourceSubscriber.cs" />
<Compile Include="$(RepoRoot)\src\OpenTelemetry\DiagnosticSourceInstrumentation\InstrumentationEventSource.cs" Link="Includes\InstrumentationEventSource.cs" />
<Compile Include="$(RepoRoot)\src\OpenTelemetry\DiagnosticSourceInstrumentation\ListenerHandler.cs" Link="Includes\ListenerHandler.cs" />
<Compile Include="$(RepoRoot)\src\OpenTelemetry\DiagnosticSourceInstrumentation\PropertyFetcher.cs" Link="Includes\PropertyFetcher.cs" />
</ItemGroup>
<ItemGroup Condition="'$(IncludeInstrumentationHelpers)'=='true' Or '$(IncludeDiagnosticSourceInstrumentationHelpers)'=='true'">
<Compile Include="$(RepoRoot)\src\OpenTelemetry.Api\Internal\ActivityHelperExtensions.cs" Link="Includes\ActivityHelperExtensions.cs" />
<Compile Include="$(RepoRoot)\src\OpenTelemetry.Api\Internal\EnumerationHelper.cs" Link="Includes\EnumerationHelper.cs" />
<Compile Include="$(RepoRoot)\src\OpenTelemetry.Api\Internal\ExceptionExtensions.cs" Link="Includes\ExceptionExtensions.cs" />
<Compile Include="$(RepoRoot)\src\OpenTelemetry.Api\Internal\IActivityEnumerator.cs" Link="Includes\IActivityEnumerator.cs" />
<Compile Include="$(RepoRoot)\src\OpenTelemetry.Api\Internal\SemanticConventions.cs" Link="Includes\SemanticConventions.cs" />
<Compile Include="$(RepoRoot)\src\OpenTelemetry.Api\Internal\SpanAttributeConstants.cs" Link="Includes\SpanAttributeConstants.cs" />
<Compile Include="$(RepoRoot)\src\OpenTelemetry.Api\Internal\SpanHelper.cs" Link="Includes\SpanHelper.cs" />
<Compile Include="$(RepoRoot)\src\OpenTelemetry.Api\Internal\StatusHelper.cs" Link="Includes\StatusHelper.cs" />
<ItemGroup Condition="'$(IncludeInstrumentationHelpers)'=='true'">
<Compile Include="$(RepoRoot)\src\Shared\ActivityHelperExtensions.cs" Link="Includes\ActivityHelperExtensions.cs" />
<Compile Include="$(RepoRoot)\src\Shared\ExceptionExtensions.cs" Link="Includes\ExceptionExtensions.cs" />
<Compile Include="$(RepoRoot)\src\Shared\SemanticConventions.cs" Link="Includes\SemanticConventions.cs" />
<Compile Include="$(RepoRoot)\src\Shared\SpanAttributeConstants.cs" Link="Includes\SpanAttributeConstants.cs" />
<Compile Include="$(RepoRoot)\src\Shared\StatusHelper.cs" Link="Includes\StatusHelper.cs" />
</ItemGroup>
</Project>

12
build/Common.targets Normal file
View File

@ -0,0 +1,12 @@
<Project>
<ItemGroup Condition="'$(ReferenceSystemTextJsonPackages)' == 'true' AND $(TargetFrameworksRequiringSystemTextJsonDirectReference.Contains('$(TargetFramework)'))">
<!-- Note: System.Text.Encodings.Web is referenced on NET Framework & NET
Standard targets because System.Text.Json v4.7.2 uses
System.Text.Encodings.Web >= v4.7.1 but System.Text.Encodings.Web needs to
be at v4.7.2 to be safe. -->
<PackageReference Include="System.Text.Encodings.Web" Condition="'$(TargetFrameworkIdentifier)' != '.NETCoreApp'" />
<PackageReference Include="System.Text.Json" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,4 @@
// These attributes should be excluded from ApiCompat checks.
T:System.Runtime.CompilerServices.CompilerGeneratedAttribute
T:System.Runtime.CompilerServices.NullableContextAttribute

View File

@ -125,7 +125,7 @@
<Rule Id="SA1515" Action="None" />
<Rule Id="SA1516" Action="Warning" />
<Rule Id="SA1517" Action="Warning" />
<Rule Id="SA1518" Action="Warning" />
<Rule Id="SA1518" Action="None" />
<Rule Id="SA1519" Action="Warning" />
<Rule Id="SA1520" Action="Warning" />
<Rule Id="SA1600" Action="None" />
@ -168,6 +168,5 @@
<Rule Id="SA1649" Action="Warning" />
<Rule Id="SA1651" Action="Warning" />
<Rule Id="SA1652" Action="Warning" />
<Rule Id="CS1591" Action="Warning" />
</Rules>
</RuleSet>

View File

@ -8,6 +8,7 @@
<Rule Id="SA1200" Action="None" />
<Rule Id="SA1401" Action="None" />
<Rule Id="SA1512" Action="None" />
<Rule Id="SA1518" Action="None" />
<Rule Id="SA1600" Action="None" />
</Rules>
</RuleSet>

34
build/OpenTelemetry.proj Normal file
View File

@ -0,0 +1,34 @@
<Project>
<PropertyGroup>
<RepoRoot>$([System.IO.Directory]::GetParent($(MSBuildThisFileDirectory)).Parent.FullName)</RepoRoot>
</PropertyGroup>
<ItemGroup>
<SolutionProjects Include="$(RepoRoot)\**\*.csproj" />
<PackProjects Include="$(RepoRoot)\src\**\*.csproj" />
<TestProjects Include="$(RepoRoot)\test\**\*.csproj" />
</ItemGroup>
<ItemGroup Condition="'$(RunningDotNetPack)' == 'true'">
<!-- Skip building these projects when publish packages workflow runs -->
<SolutionProjects Remove="$(RepoRoot)\docs\**\*.csproj" />
<SolutionProjects Remove="$(RepoRoot)\examples\**\*.csproj" />
<SolutionProjects Remove="@(TestProjects)" />
</ItemGroup>
<Target Name="Build">
<MSBuild Projects="@(SolutionProjects)" Targets="Build" ContinueOnError="ErrorAndStop" />
</Target>
<Target Name="Restore">
<MSBuild Projects="@(SolutionProjects)" Targets="Restore" ContinueOnError="ErrorAndStop" />
</Target>
<Target Name="VSTest">
<MSBuild Projects="@(TestProjects)" Targets="VSTest" ContinueOnError="ErrorAndStop" />
</Target>
<Target Name="Pack">
<MSBuild Projects="@(PackProjects)" Targets="Pack" ContinueOnError="ErrorAndStop" />
</Target>
</Project>

View File

@ -4,6 +4,9 @@
<Name Resource="OpenTelemetrySDKRules_Name" />
<Description Resource="OpenTelemetrySDKRules_Description" />
</Localization>
<Rules AnalyzerId="Microsoft.CodeAnalysis.NetAnalyzers" RuleNamespace="Microsoft.CodeAnalysis.NetAnalyzers">
<Rule Id="CA1707" Action="None" />
</Rules>
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
<Rule Id="SA0001" Action="None" />
<Rule Id="SA1200" Action="None" />

View File

@ -1,26 +0,0 @@
param([string]$package, [string]$version)
$workDir = "..\LastMajorVersionBinaries"
if (-Not (Test-Path $workDir))
{
Write-Host "Working directory for previous package versions not found, creating..."
New-Item -Path $workDir -ItemType "directory" | Out-Null
}
if (Test-Path -Path "$workDir\$package.$version.zip")
{
Write-Debug "Previous package version already downloaded"
}
else
{
Write-Host "Retrieving $package @$version for compatibility check"
Invoke-WebRequest -Uri https://www.nuget.org/api/v2/package/$package/$version -Outfile "$workDir\$package.$version.zip"
}
if (Test-Path -Path "$workDir\$package\$version\lib")
{
Write-Debug "Previous package version already extracted"
}
else
{
Expand-Archive -LiteralPath "$workDir\$package.$version.zip" -DestinationPath "$workDir\$package\$version" -Force
}

View File

@ -1,131 +1,218 @@
# Release process
Only for Maintainers.
**Note: Approvers (collaborators) can perform much of the release process but
Maintainers (admins) are needed to merge PRs and for the push to NuGet.**
1. Decide the tag name (version name) to be released.
eg: 1.0.0-rc2, 1.0.0 etc.
1. Decide the component(s) and tag name (version name) to be released. We use
[MinVer](https://github.com/adamralph/minver) to do versioning, which
produces version numbers based on git tags.
2. Run the following PowerShell from the root of the
repo to get combined changelog (to be used later).
Notes:
```powershell
$changelogs = Get-ChildItem -Path . -Recurse -Filter changelog.md
foreach ($changelog in $changelogs)
{
Add-Content -Path .\combinedchangelog.md -Value "**$($changelog.Directory.Name)**"
$lines = Get-Content -Path $changelog.FullName
$started = $false
$ended = $false
foreach ($line in $lines)
{
if($line -like "## Unreleased" -and $started -ne $true)
{
$started = $true
}
elseif($line -like "## *" -and $started -eq $true)
{
$ended = $true
break
}
else
{
if ($started -eq $true)
{
Add-Content -Path .\combinedchangelog.md $line
}
}
}
}
```
* There are different categories of packages. Check the project file for
what you want to release and look for `MinVerTagPrefix`.
This generates combined changelog to be used in Github release.
Once contents of combined changelog is saved somewhere,
delete the file.
* `core-`: Core packages. These packages are defined\goverened by the
OpenTelemetry Specification or are part of fundamental infrastructure
and have released stable versions. They may be released as `alpha`,
`beta`, `rc`, or stable.
3. Run the following PowerShell script from the root of the repo.
This updates all the changelog to have release date for the
current version being released.
Replace the version with actual version.
The actual version would be the tag name from step1.
* `OpenTelemetry.Api` - Defined by spec (API)
* `OpenTelemetry.Api.ProviderBuilderExtensions` - Fundamental
infrastructure
* `OpenTelemetry` - Defined by spec (SDK)
* `OpenTelemetry.Exporter.Console` - Defined by spec
* `OpenTelemetry.Exporter.InMemory` - Defined by spec
* `OpenTelemetry.Exporter.OpenTelemetryProtocol` - Defined by spec
* `OpenTelemetry.Exporter.Zipkin` - Defined by spec
* `OpenTelemetry.Extensions.Hosting` - Fundamental infrastructure
* `OpenTelemetry.Extensions.Propagators` - Defined by spec
```powershell
$changelogs = Get-ChildItem -Path . -Recurse -Filter changelog.md
foreach ($changelog in $changelogs)
{
(Get-Content -Path $changelog.FullName) -replace "Unreleased", "Unreleased
* `coreunstable-`: Core unstable packages. These packages are
defined\goverened by the OpenTelemetry Specification or are part of
fundamental infrastructure but have not released stable versions. As
of the `1.9.0` release cycle they may only be released as `alpha` or
`beta`.
## 1.0.0-rc2
* `OpenTelemetry.Exporter.Prometheus.AspNetCore` - Defined by spec
(experimental)
* `OpenTelemetry.Exporter.Prometheus.HttpListener` - Defined by spec
(experimental)
* `OpenTelemetry.Shims.OpenTracing` - Defined by spec (stable but
incomplete implementation)
Released $(Get-Date -UFormat '%Y-%b-%d')" | Set-Content -Path $changelog.FullName
}
```
* As of the `1.9.0` release cycle core unstable packages always depend on
the stable versions of core packages. Before releasing a non-core
component ensure the `OTelLatestStableVer` property in
`Directory.Packages.props` has been updated to the latest stable core
version.
4. Submit PR with the above changes, and get it merged.
2. Run the [Prepare for a
release](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/prepare-release.yml)
workflow. Specify the `tag-prefix` and the `version` for the release. Make
sure to run the workflow on the branch being released. This is typically
`main` but could be some other branch for hotfix (eg `main-1.8.0`). The
workflow will open a PR to update `CHANGELOG.md` files for the projects
being released. If a stable version is specified as the `version` parameter,
the workflow will also merge the contents of any detected
`PublicAPI.Unshipped.txt` files in the `.publicApi` folder into the
corresponding `PublicAPI.Shipped.txt` files for the projects being released.
5. Tag Git with version to be released e.g.:
<details>
<summary>Instructions for preparing for a release manually</summary>
```sh
git tag -a 1.0.0-rc2 -m "1.0.0-rc2"
git push origin 1.0.0-rc2
```
* Update CHANGELOG files
We use [MinVer](https://github.com/adamralph/minver) to do versioning,
which produces version numbers based on git tags.
Run the PowerShell script `.\build\scripts\update-changelogs.ps1
-minVerTagPrefix [MinVerTagPrefix] -version [Version]`. Where
`[MinVerTagPrefix]` is the tag prefix (eg `core-`) for the components
being released and `[Version]` is the version being released (eg
`1.9.0`). This will update `CHANGELOG.md` files for the projects being
released.
Note:
If releasing only core components, prefix the tag
with "core-". For example:
git tag -a core-1.1.0-beta1 -m "1.1.0-beta1 of all core components"
* **Stable releases only**: Normalize PublicApi files
If releasing only non-core components, use tags without
prefix. For example:
git tag -a 1.0.0-rc3 -m "1.0.0-rc3 of all non-core components"
Run the PowerShell script `.\build\scripts\finalize-publicapi.ps1
-minVerTagPrefix [MinVerTagPrefix]`. Where `[MinVerTagPrefix]` is the tag
prefix (eg `core-`) for the components being released. This will merge
the contents of any detected `PublicAPI.Unshipped.txt` files in the
`.publicApi` folder into the corresponding `PublicAPI.Shipped.txt` files
for the projects being released.
</details
If releasing both, push both tags above.
3. For stable releases, use the `/UpdateReleaseNotes` command on the PR opened
by [Prepare for a
release](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/prepare-release.yml)
workflow in step 2 to update [Release Notes](../RELEASENOTES.md) with any
big or interesting new features.
6. Open [Pack and publish to MyGet
workflow](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/publish-packages-1.0.yml)
and manually trigger a build. At the end of this, MyGet will have the
packages. The package name will be the tag name used in step 5.
* The `/UpdateReleaseDates` command may also be used to update dates in
`CHANGELOG.md` files. This is useful when the PR is opened a few days
before the planned release date to review public API changes.
7. Validate using MyGet packages. Basic sanity checks :)
4. :stop_sign: The PR opened by [Prepare for a
release](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/prepare-release.yml)
workflow in step 2 has to be merged.
8. From the above build, get the artifacts from the drop, which has all the
NuGet packages.
5. Once the PR opened by [Prepare for a
release](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/prepare-release.yml)
workflow in step 2 has been merged a trigger will automatically add a
comment and lock the PR. Post a comment with "/CreateReleaseTag" in the
body. This will tell the [Prepare for a
release](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/prepare-release.yml)
workflow to push the tag for the merge commit of the PR which will trigger
the [Build, pack, and publish to
MyGet](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/publish-packages-1.0.yml)
workflow.
9. Copy all the NuGet files and symbols into a local folder. If only
releasing core packages, only copy them over.
<details>
<summary>Instructions for pushing tags manually</summary>
10. Download latest [nuget.exe](https://www.nuget.org/downloads) into
the same folder from step 9.
Note: In the below examples `git push origin` is used. If running in a fork,
add the main repo as `upstream` and use `git push upstream` instead. Pushing
a tag to `origin` in a fork pushes the tag to the fork.
11. Obtain the API key from nuget.org (Only maintainers have access)
* If releasing core components, add and push the tag prefixed with `core-`.
For example:
12. Run the following commands from PowerShell from local folder used in step 9:
```sh
git tag -a core-1.4.0-beta.1 -m "1.4.0-beta.1 of all core components"
git push origin core-1.4.0-beta.1
```
```powershell
.\nuget.exe setApiKey <actual api key>
* If releasing core unstable components, push the tag prefixed with
`coreunstable-`. For example:
get-childitem -Recurse | where {$_.extension -eq
".nupkg"} | foreach ($_) {.\nuget.exe push $_.fullname -Source
https://api.nuget.org/v3/index.json}
```
```sh
git tag -a coreunstable-1.9.0-beta.1 -m "1.9.0-beta.1 of all core unstable components"
git push origin coreunstable-1.9.0-beta.1
```
13. Packages would be available in nuget.org in few minutes.
Validate that the package is uploaded.
Pushing the tag will kick off the [Build, pack, and publish to
MyGet](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/publish-packages-1.0.yml)
workflow.
</details>
14. Delete the API key generated in step 11.
6. :stop_sign: Wait for the [Build, pack, and publish to
MyGet](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/publish-packages-1.0.yml)
workflow to complete. When complete a trigger will automatically add a
comment on the PR opened by [Prepare for a
release](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/prepare-release.yml)
workflow in step 2. Use MyGet or download the packages using the provided
link to validate locally everything works. After validation has been
performed have a maintainer post a comment with "/PushPackages" in the body.
This will trigger the [Complete
release](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/prepare-release.yml)
workflow to push the packages to NuGet and publish the draft release created
by the [Build, pack, and publish to
MyGet](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/publish-packages-1.0.yml)
workflow. Comments will automatically be added on the PR opened by [Prepare
for a
release](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/prepare-release.yml)
workflow in step 2 as the process is run and the PR will be unlocked.
15. Make the Github release with tag from Step5
and contents of combinedchangelog from Step2.
<details>
<summary>Instructions for pushing packages to NuGet manually</summary>
TODO: Add tagging for Metrics release.
TODO: Separate version for instrumention/hosting/OTshim package.
1. The [Build, pack, and publish to
MyGet](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/publish-packages-1.0.yml)
workflow pushes the packages to MyGet and attaches them as artifacts on
the workflow run.
16. Update the OpenTelemetry.io document
[here](https://github.com/open-telemetry/opentelemetry.io/tree/main/content/en/docs/net)
by sending a Pull Request.
2. Validate locally everything works using the packages pushed to MyGet or
downloaded from the drop attached to the workflow run. Basic sanity
checks :)
17. If a new stable version of the core packages were released,
update `OTelPreviousStableVer` in Common.props
to the just released stable version.
3. Download the artifacts from the drop attached to the workflow run. The
artifacts archive (`.zip`) contains all the NuGet packages (`.nupkg`) and
symbols (`.snupkg`) from the build which were pushed to MyGet.
4. Extract the artifacts from the archive (`.zip`) into a local folder.
5. Download latest [nuget.exe](https://www.nuget.org/downloads) into the
same folder from step 4.
6. Create or regenerate an API key from nuget.org (only maintainers have
access). When creating API keys make sure it is set to expire in 1 day or
less.
7. Run the following commands from PowerShell from local folder used in step
4:
```powershell
.\nuget.exe setApiKey <actual api key>
get-childitem -Recurse | where {$_.extension -eq ".nupkg"} | foreach ($_) {.\nuget.exe push $_.fullname -Source https://api.nuget.org/v3/index.json}
```
8. Validate that the package(s) are uploaded. Packages are available
immediately to maintainers on nuget.org but aren't publicly visible until
scanning completes. This process usually takes a few minutes.
9. Open the
[Releases](https://github.com/open-telemetry/opentelemetry-dotnet/releases)
page on the GitHub repository. The [Build, pack, and publish to
MyGet](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/publish-packages-1.0.yml)
workflow creates a draft release for the tag which was pushed. Edit the
draft Release and click `Publish release`.
</details>
7. If a new stable version of the core packages was released, a PR should have
been automatically created by the [Complete
release](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/post-release.yml)
workflow to update the `OTelLatestStableVer` property in
`Directory.Packages.props` to the just released stable version. Merge that
PR once the build passes (this requires the packages be available on NuGet).
8. The [Complete
release](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/post-release.yml)
workflow should have invoked the [Core version
update](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/actions/workflows/core-version-update.yml)
workflow on the
[opentelemetry-dotnet-contrib](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/)
repository which opens a PR to update dependencies. Verify this PR was
opened successfully.
9. For stable releases post an announcement in the [Slack
channel](https://cloud-native.slack.com/archives/C01N3BC2W7Q) announcing the
release and link to the release notes.

View File

@ -0,0 +1,27 @@
<Project>
<PropertyGroup>
<RepoRoot>$([System.IO.Directory]::GetParent($(MSBuildThisFileDirectory)).Parent.FullName)</RepoRoot>
</PropertyGroup>
<ItemGroup>
<SolutionProjects Include="$(RepoRoot)\**\OpenTelemetry.Exporter.Prometheus.AspNetCore*.csproj" />
<SolutionProjects Include="$(RepoRoot)\**\OpenTelemetry.Exporter.Prometheus.HttpListener*.csproj" />
<SolutionProjects Include="$(RepoRoot)\**\OpenTelemetry.Shims.OpenTracing*.csproj" />
<TestProjects Include="$(RepoRoot)\test\**\OpenTelemetry.Exporter.Prometheus.AspNetCore.Tests.csproj" />
<TestProjects Include="$(RepoRoot)\test\**\OpenTelemetry.Exporter.Prometheus.HttpListener.Tests.csproj" />
<TestProjects Include="$(RepoRoot)\test\**\OpenTelemetry.Shims.OpenTracing.Tests.csproj" />
</ItemGroup>
<Target Name="Build">
<MSBuild Projects="@(SolutionProjects)" Targets="Build" ContinueOnError="ErrorAndStop" />
</Target>
<Target Name="Restore">
<MSBuild Projects="@(SolutionProjects)" Targets="Restore" ContinueOnError="ErrorAndStop" />
</Target>
<Target Name="VSTest">
<MSBuild Projects="@(TestProjects)" Targets="VSTest" ContinueOnError="ErrorAndStop" />
</Target>
</Project>

View File

@ -1,8 +0,0 @@
version: '3.7'
services:
tests:
build:
args:
PUBLISH_FRAMEWORK: net5.0
SDK_VERSION: 5.0

View File

@ -0,0 +1,7 @@
services:
tests:
build:
args:
PUBLISH_FRAMEWORK: net8.0
TEST_SDK_VERSION: "8.0"
BUILD_SDK_VERSION: "9.0"

View File

@ -0,0 +1,7 @@
services:
tests:
build:
args:
PUBLISH_FRAMEWORK: net9.0
TEST_SDK_VERSION: "9.0"
BUILD_SDK_VERSION: "9.0"

View File

@ -1,8 +0,0 @@
version: '3.7'
services:
tests:
build:
args:
PUBLISH_FRAMEWORK: netcoreapp3.1
SDK_VERSION: 3.1

View File

@ -1,31 +0,0 @@
# After every stable release, all PublicApi text files (Shipped & Unshipped) should be merged.
$path = "src\*\.publicApi\**\";
$directory = Split-Path -Path $PSScriptRoot -Parent;
$searchPath = Join-Path -Path $directory -ChildPath $path;
Write-Host "Search Directory: $searchPath";
Write-Host "";
Get-ChildItem -Path $searchPath -Recurse -Filter *.Shipped.txt |
ForEach-Object {
Write-Host $_.FullName;
[string]$shipped = $_.FullName;
[string]$unshipped = $shipped -replace ".shipped.txt", ".Unshipped.txt";
if (Test-Path $unshipped) {
Write-Host $unshipped;
Get-Content $shipped, $unshipped | # get contents of both text files
Where-Object {$_ -ne ""} | # filter empty lines
Sort-Object | # sort lines
Get-Unique | # filter duplicates
Set-Content $shipped; # write to shipped.txt
Clear-Content $unshipped; # empty unshipped.txt
Write-Host "...MERGED and SORTED";
}
Write-Host "";
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -1,12 +0,0 @@
[xml]$commonProps = Get-Content -Path $PSScriptRoot\Common.props
$microsoftCodeCoveragePkgVer = [string]$commonProps.Project.PropertyGroup.MicrosoftCodeCoveragePkgVer # This is collected in the format: "[16.10.0]"
$microsoftCodeCoveragePkgVer = $microsoftCodeCoveragePkgVer.Trim();
$microsoftCodeCoveragePkgVer = $microsoftCodeCoveragePkgVer.SubString(1, $microsoftCodeCoveragePkgVer.Length - 2) # Removing square brackets
$files = Get-ChildItem "TestResults" -Filter "*.coverage" -Recurse
Write-Host $env:USERPROFILE
foreach ($file in $files)
{
$command = $env:USERPROFILE+ '\.nuget\packages\microsoft.codecoverage\' + $microsoftCodeCoveragePkgVer + '\build\netstandard1.0\CodeCoverage\CodeCoverage.exe analyze /output:' + $file.DirectoryName + '\' + $file.Name + '.xml '+ $file.FullName
Write-Host $command
Invoke-Expression $command
}

View File

@ -0,0 +1,148 @@
function AddLabelsOnIssuesForPackageFoundInBody {
param(
[Parameter(Mandatory=$true)][int]$issueNumber,
[Parameter(Mandatory=$true)][string]$issueBody
)
$match = [regex]::Match($issueBody, '^[#]+ Package\s*(OpenTelemetry(?:\.\w+)*)')
if ($match.Success -eq $false)
{
Return
}
gh issue edit $issueNumber --add-label $("pkg:" + $match.Groups[1].Value)
}
Export-ModuleMember -Function AddLabelsOnIssuesForPackageFoundInBody
function AddLabelsOnPullRequestsBasedOnFilesChanged {
param(
[Parameter(Mandatory=$true)][int]$pullRequestNumber,
[Parameter(Mandatory=$true)][string]$labelPackagePrefix # 'pkg:' on main repo, 'comp:' on contrib repo
)
# Note: This function is intended to work on main repo and on contrib. Please
# keep them in sync.
$repoLabels = gh label list --json name,id -L 200 | ConvertFrom-Json
$filesChangedOnPullRequest = gh pr diff $pullRequestNumber --name-only
$labelsOnPullRequest = (gh pr view $pullRequestNumber --json labels | ConvertFrom-Json).labels
$visitedProjects = New-Object System.Collections.Generic.HashSet[string]
$labelsToAdd = New-Object System.Collections.Generic.HashSet[string]
$labelsToRemove = New-Object System.Collections.Generic.HashSet[string]
# Note: perf label may be added but it is kind of a guess so we don't remove
# it automatically in order to also allow manual inclusion after reviewing files
$managedLabels = 'infra', 'documentation', 'dependencies'
$rootInfraFiles = 'global.json', 'NuGet.config', 'codeowners'
$documentationFiles = 'readme.md', 'contributing.md', 'releasing.md', 'versioning.md', 'releasenotes.md'
foreach ($fileChanged in $filesChangedOnPullRequest)
{
$fileChanged = $fileChanged.ToLower()
$fullFileName = [System.IO.Path]::GetFileName($fileChanged)
$fileName = [System.IO.Path]::GetFileNameWithoutExtension($fileChanged)
$fileExtension = [System.IO.Path]::GetExtension($fileChanged)
if ($fileChanged.StartsWith('src/') -or $fileChanged.StartsWith('test/'))
{
$match = [regex]::Match($fileChanged, '^(?:(?:src)|(?:test))\/(.*?)\/.+$')
if ($match.Success -eq $false)
{
continue
}
$rawProjectName = $match.Groups[1].Value
if ($rawProjectName.Contains(".benchmarks") -or $rawProjectName.Contains(".stress"))
{
$added = $labelsToAdd.Add("perf")
}
$projectName = $rawProjectName.Replace(".tests", "").Replace(".benchmarks", "").Replace(".stress", "")
if ($visitedProjects.Contains($projectName))
{
continue
}
$added = $visitedProjects.Add($projectName);
foreach ($repoLabel in $repoLabels)
{
if ($repoLabel.name.StartsWith($labelPackagePrefix))
{
$package = $repoLabel.name.Substring($labelPackagePrefix.Length).ToLower()
if ($package.StartsWith('opentelemetry') -eq $false)
{
# Note: On contrib labels don't have "OpenTelemetry." prefix
$package = 'opentelemetry.' + $package
}
if ($package -eq $projectName)
{
$added = $labelsToAdd.Add($repoLabel.name)
break
}
}
}
}
if ($documentationFiles.Contains($fullFileName) -or
$fileChanged.StartsWith('docs/') -or
$fileChanged.StartsWith('examples/'))
{
$added = $labelsToAdd.Add("documentation")
}
if ($fileChanged.StartsWith('build/') -or
$fileChanged.StartsWith('.github/') -or
$rootInfraFiles.Contains($fullFileName) -or
$fileExtension -eq ".props" -or
$fileExtension -eq ".targets" -or
$fileChanged.StartsWith('test/openTelemetry.aotcompatibility'))
{
$added = $labelsToAdd.Add("infra")
}
if ($fileChanged.StartsWith('test/benchmarks'))
{
$added = $labelsToAdd.Add("perf")
}
if ($fullFileName -eq 'directory.packages.props')
{
$added = $labelsToAdd.Add("dependencies")
}
}
foreach ($labelOnPullRequest in $labelsOnPullRequest)
{
if ($labelsToAdd.Contains($labelOnPullRequest.name))
{
$removed = $labelsToAdd.Remove($labelOnPullRequest.name)
}
elseif ($labelOnPullRequest.name.StartsWith($labelPackagePrefix) -or
$managedLabels.Contains($labelOnPullRequest.name))
{
$added = $labelsToRemove.Add($labelOnPullRequest.name)
}
}
if ($labelsToAdd.Count -gt 0)
{
foreach ($label in $labelsToAdd)
{
gh pr edit $pullRequestNumber --add-label $label
}
}
if ($labelsToRemove.Count -gt 0)
{
foreach ($label in $labelsToRemove)
{
gh pr edit $pullRequestNumber --remove-label $label
}
}
}
Export-ModuleMember -Function AddLabelsOnPullRequestsBasedOnFilesChanged

View File

@ -0,0 +1,39 @@
param(
[Parameter(Mandatory=$true)][string]$minVerTagPrefix
)
# For stable releases "Unshipped" PublicApi text files are merged into "Shipped" versions.
$projectDirs = Get-ChildItem -Path src/**/*.csproj | Select-String "<MinVerTagPrefix>$minVerTagPrefix</MinVerTagPrefix>" -List | Select Path | Split-Path -Parent
$path = "\.publicApi\**\PublicAPI.Shipped.txt";
foreach ($projectDir in $projectDirs) {
$searchPath = Join-Path -Path $projectDir -ChildPath $path;
Write-Host "Search glob: $searchPath";
Get-ChildItem -Path $searchPath -Recurse |
ForEach-Object {
Write-Host "Shipped: $_";
[string]$shipped = $_.FullName;
[string]$unshipped = $shipped -replace ".shipped.txt", ".Unshipped.txt";
if (Test-Path $unshipped) {
Write-Host "Unshipped: $unshipped";
Get-Content $shipped, $unshipped | # get contents of both text files
Where-Object {$_ -ne ""} | # filter empty lines
Sort-Object | # sort lines
Get-Unique | # filter duplicates
Set-Content $shipped; # write to shipped.txt
Clear-Content $unshipped; # empty unshipped.txt
Write-Host "...MERGED and SORTED";
}
Write-Host "";
}
}

View File

@ -0,0 +1,598 @@
function CreateDraftRelease {
param(
[Parameter(Mandatory=$true)][string]$gitRepository,
[Parameter(Mandatory=$true)][string]$tag,
[Parameter()][string]$releaseFiles
)
$match = [regex]::Match($tag, '^(.*?-)(.*)$')
if ($match.Success -eq $false)
{
throw 'Could not parse prefix or version from tag'
}
$tagPrefix = $match.Groups[1].Value
$version = $match.Groups[2].Value
$isPrerelease = $version -match '-alpha' -or $version -match '-beta' -or $version -match '-rc'
$projects = @(Get-ChildItem -Path src/**/*.csproj | Select-String "<MinVerTagPrefix>$tagPrefix</MinVerTagPrefix>" -List | Select Path)
if ($projects.Length -eq 0)
{
throw 'No projects found with MinVerTagPrefix matching prefix from tag'
}
$notes = ''
$previousVersion = ''
foreach ($project in $projects)
{
$projectName = [System.IO.Path]::GetFileNameWithoutExtension($project.Path)
$changelogContent = Get-Content -Path "src/$projectName/CHANGELOG.md"
$started = $false
$content = ""
foreach ($line in $changelogContent)
{
if ($line -like "## $version" -and $started -ne $true)
{
$started = $true
}
elseif ($line -like "Released *" -and $started -eq $true)
{
continue
}
elseif ($line -like "## *" -and $started -eq $true)
{
$match = [regex]::Match($line, '^##\s*(.*)$')
if ($match.Success -eq $true)
{
$previousVersion = $match.Groups[1].Value
}
break
}
else
{
if ($started -eq $true -and ([string]::IsNullOrWhitespace($line) -eq $false -or $content.Length -gt 0))
{
$content += " " + $line + "`r`n"
}
}
}
if ([string]::IsNullOrWhitespace($content) -eq $true)
{
$content = " No notable changes."
}
$content = $content.trimend()
$notes +=
@"
* NuGet: [$projectName v$version](https://www.nuget.org/packages/$projectName/$version)
$content
See [CHANGELOG](https://github.com/$gitRepository/blob/$tag/src/$projectName/CHANGELOG.md) for details.
"@
}
if ($isPrerelease -eq $true)
{
$notes =
@"
The following changes are from the previous release [$previousVersion](https://github.com/$gitRepository/releases/tag/$tagPrefix$previousVersion).
"@ + $notes
gh release create $tag $releaseFiles `
--title $tag `
--verify-tag `
--notes $notes `
--prerelease `
--draft
}
else
{
$notes =
@"
For highlights and announcements pertaining to this release see: [Release Notes > $version](https://github.com/$gitRepository/blob/main/RELEASENOTES.md#$($version.Replace('.',''))).
The following changes are from the previous release [$previousVersion](https://github.com/$gitRepository/releases/tag/$tagPrefix$previousVersion).
"@ + $notes
gh release create $tag $releaseFiles `
--title $tag `
--verify-tag `
--notes $notes `
--latest `
--draft
}
}
Export-ModuleMember -Function CreateDraftRelease
function TryPostPackagesReadyNoticeOnPrepareReleasePullRequest {
param(
[Parameter(Mandatory=$true)][string]$gitRepository,
[Parameter(Mandatory=$true)][string]$tag,
[Parameter(Mandatory=$true)][string]$tagSha,
[Parameter(Mandatory=$true)][string]$packagesUrl,
[Parameter(Mandatory=$true)][string]$botUserName
)
$prListResponse = gh pr list --search $tagSha --state merged --json number,author,title,comments | ConvertFrom-Json
if ($prListResponse.Length -eq 0)
{
Write-Host 'No prepare release PR found for tag & commit skipping post notice'
return
}
foreach ($pr in $prListResponse)
{
if ($pr.author.login -ne $botUserName -or $pr.title -ne "[release] Prepare release $tag")
{
continue
}
$foundComment = $false
foreach ($comment in $pr.comments)
{
if ($comment.author.login -eq $botUserName -and $comment.body.StartsWith("I just pushed the [$tag]"))
{
$foundComment = $true
break
}
}
if ($foundComment -eq $false)
{
continue
}
$body =
@"
The packages for [$tag](https://github.com/$gitRepository/releases/tag/$tag) are now available: $packagesUrl.
Once these packages have been validated have a maintainer post a comment with "/PushPackages" in the body if you would like me to push to NuGet.
"@
$pullRequestNumber = $pr.number
gh pr comment $pullRequestNumber --body $body
return
}
Write-Host 'No prepare release PR found matched author and title with a valid comment'
}
Export-ModuleMember -Function TryPostPackagesReadyNoticeOnPrepareReleasePullRequest
function PushPackagesPublishReleaseUnlockAndPostNoticeOnPrepareReleasePullRequest {
param(
[Parameter(Mandatory=$true)][string]$gitRepository,
[Parameter(Mandatory=$true)][string]$pullRequestNumber,
[Parameter(Mandatory=$true)][string]$botUserName,
[Parameter(Mandatory=$true)][string]$commentUserName,
[Parameter(Mandatory=$true)][string]$artifactDownloadPath,
[Parameter(Mandatory=$true)][string]$pushToNuget
)
$prViewResponse = gh pr view $pullRequestNumber --json author,title,comments | ConvertFrom-Json
if ($prViewResponse.author.login -ne $botUserName)
{
throw 'PR author was unexpected'
}
$match = [regex]::Match($prViewResponse.title, '^\[release\] Prepare release (.*)$')
if ($match.Success -eq $false)
{
throw 'Could not parse tag from PR title'
}
$tag = $match.Groups[1].Value
$commentUserPermission = gh api "repos/$gitRepository/collaborators/$commentUserName/permission" | ConvertFrom-Json
if ($commentUserPermission.permission -ne 'admin')
{
gh pr comment $pullRequestNumber `
--body "I'm sorry @$commentUserName but you don't have permission to push packages. Only maintainers can push to NuGet."
return
}
$foundComment = $false
$packagesUrl = ''
foreach ($comment in $prViewResponse.comments)
{
if ($comment.author.login -eq $botUserName -and $comment.body.StartsWith("The packages for [$tag](https://github.com/$gitRepository/releases/tag/$tag) are now available:"))
{
$foundComment = $true
break
}
}
if ($foundComment -eq $false)
{
throw 'Could not find package push comment on pr'
}
gh release download $tag `
-p "$tag-packages.zip" `
-D "$artifactDownloadPath"
Expand-Archive -LiteralPath "$artifactDownloadPath/$tag-packages.zip" -DestinationPath "$artifactDownloadPath\"
if ($pushToNuget -eq 'true')
{
gh pr comment $pullRequestNumber `
--body "I am uploading the packages for ``$tag`` to NuGet and then I will publish the release."
nuget push "$artifactDownloadPath/**/*.nupkg" -Source https://api.nuget.org/v3/index.json -ApiKey "$env:NUGET_TOKEN" -SymbolApiKey "$env:NUGET_TOKEN"
if ($LASTEXITCODE -gt 0)
{
gh pr comment $pullRequestNumber `
--body "Something went wrong uploading the packages for ``$tag`` to NuGet."
throw 'nuget push failure'
}
}
else {
gh pr comment $pullRequestNumber `
--body "I am publishing the release without uploading the packages to NuGet because a token wasn't configured."
}
gh release edit $tag --draft=false
gh pr unlock $pullRequestNumber
}
Export-ModuleMember -Function PushPackagesPublishReleaseUnlockAndPostNoticeOnPrepareReleasePullRequest
function CreateStableVersionUpdatePullRequest {
param(
[Parameter(Mandatory=$true)][string]$gitRepository,
[Parameter(Mandatory=$true)][string]$tag,
[Parameter()][string]$targetBranch="main",
[Parameter()][string]$lineEnding="`n",
[Parameter()][string]$gitUserName,
[Parameter()][string]$gitUserEmail
)
$match = [regex]::Match($tag, '.*?-(.*)')
if ($match.Success -eq $false)
{
throw 'Could not parse version from tag'
}
$version = $match.Groups[1].Value
$branch="release/post-stable-${tag}-update"
if ([string]::IsNullOrEmpty($gitUserName) -eq $false)
{
git config user.name $gitUserName
}
if ([string]::IsNullOrEmpty($gitUserEmail) -eq $false)
{
git config user.email $gitUserEmail
}
git switch --create $branch origin/$targetBranch --no-track 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git switch failure'
}
$projectsAndDependenciesBefore = GetCoreDependenciesForProjects
(Get-Content Directory.Packages.props) `
-replace '<OTelLatestStableVer>.*<\/OTelLatestStableVer>', "<OTelLatestStableVer>$version</OTelLatestStableVer>" |
Set-Content Directory.Packages.props
$projectsAndDependenciesAfter = GetCoreDependenciesForProjects
$changedProjects = @{}
$projectsAndDependenciesBefore.GetEnumerator() | ForEach-Object {
$projectDir = $_.Key
$projectDependenciesBefore = $_.Value
$projectDependenciesAfter = $projectsAndDependenciesAfter[$projectDir]
$projectDependenciesBefore.GetEnumerator() | ForEach-Object {
$packageName = $_.Key
$packageVersionBefore = $_.Value
if ($projectDependenciesAfter[$packageName] -ne $packageVersionBefore)
{
$changedProjects[$projectDir] = $true
}
}
}
git add Directory.Packages.props 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git add failure'
}
git commit -m "Update OTelLatestStableVer in Directory.Packages.props to $version." 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git commit failure'
}
git push -u origin $branch 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git push failure'
}
$body =
@"
Note: This PR was opened automatically by the [post-release workflow](https://github.com/$gitRepository/actions/workflows/post-release.yml).
Merge once packages are available on NuGet and the build passes.
## Changes
* Sets ``OTelLatestStableVer`` in ``Directory.Packages.props`` to ``$version``.
"@
$createPullRequestResponse = gh pr create `
--title "[release] Core stable release $version updates" `
--body $body `
--base $targetBranch `
--head $branch `
--label release
Write-Host $createPullRequestResponse
$match = [regex]::Match($createPullRequestResponse, "\/pull\/(.*)$")
if ($match.Success -eq $false)
{
throw 'Could not parse pull request number from gh pr create response'
}
$pullRequestNumber = $match.Groups[1].Value
if ($changedProjects.Count -eq 0)
{
Return
}
$entry = @"
* Updated OpenTelemetry core component version(s) to ``$version``.
([#$pullRequestNumber](https://github.com/$gitRepository/pull/$pullRequestNumber))
"@
$lastLineBlank = $true
$changelogFilesUpdated = 0
foreach ($projectDir in $changedProjects.Keys)
{
$path = Join-Path -Path $projectDir -ChildPath "CHANGELOG.md"
if ([System.IO.File]::Exists($path) -eq $false)
{
Write-Host "No CHANGELOG found in $projectDir"
continue
}
$changelogContent = Get-Content -Path $path
$started = $false
$isRemoving = $false
$content = ""
foreach ($line in $changelogContent)
{
if ($line -like "## Unreleased" -and $started -ne $true)
{
$started = $true
}
elseif ($line -like "## *" -and $started -eq $true)
{
if ($lastLineBlank -eq $false)
{
$content += $lineEnding
}
$content += $entry
$started = $false
$isRemoving = $false
}
elseif ($started -eq $true -and ($line -like '*Update* OpenTelemetry SDK version to*' -or $line -like '*Updated OpenTelemetry core component version(s) to*'))
{
$isRemoving = $true
continue
}
if ($line.StartsWith('* '))
{
if ($isRemoving -eq $true)
{
$isRemoving = $false
}
if ($lastLineBlank -eq $false)
{
$content += $lineEnding
}
}
if ($isRemoving -eq $true)
{
continue
}
$content += $line + $lineEnding
$lastLineBlank = [string]::IsNullOrWhitespace($line)
}
if ($started -eq $true)
{
# Note: If we never wrote the entry it means the file ended in the unreleased section
if ($lastLineBlank -eq $false)
{
$content += $lineEnding
}
$content += $entry
}
Set-Content -Path $path -Value $content.TrimEnd()
git add $path 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git add failure'
}
$changelogFilesUpdated++
}
if ($changelogFilesUpdated -gt 0)
{
git commit -m "Update CHANGELOGs for projects using OTelLatestStableVer." 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git commit failure'
}
git push -u origin $branch 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git push failure'
}
}
}
Export-ModuleMember -Function CreateStableVersionUpdatePullRequest
function GetCoreDependenciesForProjects {
$projects = @(Get-ChildItem -Path 'src/*/*.csproj')
$projectsAndDependencies = @{}
foreach ($project in $projects)
{
# Note: dotnet restore may fail if the core packages aren't available yet but that is fine, we just want to generate project.assets.json for these projects.
$output = dotnet restore $project -p:RunningDotNetPack=true
$projectDir = $project | Split-Path -Parent
$content = (Get-Content "$projectDir/obj/project.assets.json" -Raw)
$projectDependencies = @{}
$matches = [regex]::Matches($content, '"(OpenTelemetry(?:.*))?": {[\S\s]*?"target": "Package",[\S\s]*?"version": "(.*)"[\S\s]*?}')
foreach ($match in $matches)
{
$packageName = $match.Groups[1].Value
$packageVersion = $match.Groups[2].Value
if ($packageName -eq 'OpenTelemetry' -or
$packageName -eq 'OpenTelemetry.Api' -or
$packageName -eq 'OpenTelemetry.Api.ProviderBuilderExtensions' -or
$packageName -eq 'OpenTelemetry.Extensions.Hosting' -or
$packageName -eq 'OpenTelemetry.Extensions.Propagators')
{
$projectDependencies[$packageName.ToString()] = $packageVersion.ToString()
}
}
$projectsAndDependencies[$projectDir.ToString()] = $projectDependencies
}
return $projectsAndDependencies
}
function InvokeCoreVersionUpdateWorkflowInRemoteRepository {
param(
[Parameter(Mandatory=$true)][string]$remoteGitRepository,
[Parameter(Mandatory=$true)][string]$tag,
[Parameter()][string]$targetBranch="main"
)
$match = [regex]::Match($tag, '^(.*?-)(.*)$')
if ($match.Success -eq $false)
{
throw 'Could not parse prefix or version from tag'
}
gh workflow run "core-version-update.yml" `
--repo $remoteGitRepository `
--ref $targetBranch `
--field "tag=$tag"
}
Export-ModuleMember -Function InvokeCoreVersionUpdateWorkflowInRemoteRepository
function TryPostReleasePublishedNoticeOnPrepareReleasePullRequest {
param(
[Parameter(Mandatory=$true)][string]$gitRepository,
[Parameter(Mandatory=$true)][string]$botUserName,
[Parameter(Mandatory=$true)][string]$tag
)
$tagSha = git rev-list -n 1 $tag 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git rev-list failure'
}
$prListResponse = gh pr list --search $tagSha --state merged --json number,author,title,comments | ConvertFrom-Json
if ($prListResponse.Length -eq 0)
{
Write-Host 'No prepare release PR found for tag & commit skipping post notice'
return
}
foreach ($pr in $prListResponse)
{
if ($pr.author.login -ne $botUserName -or $pr.title -ne "[release] Prepare release $tag")
{
continue
}
$foundComment = $false
foreach ($comment in $pr.comments)
{
if ($comment.author.login -eq $botUserName -and $comment.body.StartsWith("The packages for [$tag](https://github.com/$gitRepository/releases/tag/$tag) are now available:"))
{
$foundComment = $true
break
}
}
if ($foundComment -eq $false)
{
continue
}
$body =
@"
The release [$tag](https://github.com/$gitRepository/releases/tag/$tag) has been published and packages should be available on NuGet momentarily.
Have a nice day!
"@
$pullRequestNumber = $pr.number
gh pr comment $pullRequestNumber --body $body
return
}
Write-Host 'No prepare release PR found matched author and title with a valid comment'
}
Export-ModuleMember -Function TryPostReleasePublishedNoticeOnPrepareReleasePullRequest

View File

@ -0,0 +1,463 @@
function CreatePullRequestToUpdateChangelogsAndPublicApis {
param(
[Parameter(Mandatory=$true)][string]$gitRepository,
[Parameter(Mandatory=$true)][string]$minVerTagPrefix,
[Parameter(Mandatory=$true)][string]$version,
[Parameter(Mandatory=$true)][string]$requestedByUserName,
[Parameter()][string]$targetBranch="main",
[Parameter()][string]$gitUserName,
[Parameter()][string]$gitUserEmail
)
$match = [regex]::Match($version, '^(\d+\.\d+\.\d+)(?:-((?:alpha)|(?:beta)|(?:rc))\.(\d+))?$')
if ($match.Success -eq $false)
{
throw 'Input version did not match expected format'
}
$isPrerelease = $version -match '-alpha' -or $version -match '-beta' -or $version -match '-rc'
$tag="${minVerTagPrefix}${version}"
$branch="release/prepare-${tag}-release"
if ([string]::IsNullOrEmpty($gitUserName) -eq $false)
{
git config user.name $gitUserName
}
if ([string]::IsNullOrEmpty($gitUserEmail) -eq $false)
{
git config user.email $gitUserEmail
}
git switch --create $branch 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git switch failure'
}
$body =
@"
Note: This PR was opened automatically by the [prepare release workflow](https://github.com/$gitRepository/actions/workflows/prepare-release.yml).
Requested by: @$requestedByUserName
## Changes
* CHANGELOG files updated for projects being released.
"@
# Update CHANGELOGs
& ./build/scripts/update-changelogs.ps1 -minVerTagPrefix $minVerTagPrefix -version $version
# Update publicApi files for stable releases
if ($isPrerelease -ne $true)
{
& ./build/scripts/finalize-publicapi.ps1 -minVerTagPrefix $minVerTagPrefix
$body += "`r`n* Public API files updated for projects being released (only performed for stable releases)."
}
$body +=
@"
## Commands
``/UpdateReleaseDates``: Use to update release dates in CHANGELOGs before merging [``approvers``, ``maintainers``]
"@
if ($minVerTagPrefix -eq 'core-' -and $isPrerelease -ne $true)
{
$body +=
@"
``/UpdateReleaseNotes``: Use to update ``RELEASENOTES.md`` before merging [``approvers``, ``maintainers``]
"@
}
$body +=
@"
``/CreateReleaseTag``: Use after merging to push the release tag and trigger the job to create packages [``approvers``, ``maintainers``]
``/PushPackages``: Use after the created packages have been validated to push to NuGet [``maintainers``]
"@
git commit -a -m "Prepare repo to release $tag." 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git commit failure'
}
git push -u origin $branch 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git push failure'
}
$createPullRequestResponse = gh pr create `
--title "[release] Prepare release $tag" `
--body $body `
--base $targetBranch `
--head $branch `
--label release
Write-Host $createPullRequestResponse
$match = [regex]::Match($createPullRequestResponse, "\/pull\/(.*)$")
if ($match.Success -eq $false)
{
throw 'Could not parse pull request number from gh pr create response'
}
$pullRequestNumber = $match.Groups[1].Value
if ($minVerTagPrefix -eq 'core-' -and $isPrerelease -ne $true)
{
$found = Select-String -Path "RELEASENOTES.md" -Pattern "## $version" -Quiet
if ($found -eq $false)
{
$body =
@"
I noticed this PR is releasing a stable version of core packages but there isn't any content in ``RELEASENOTES.md`` for the version being released.
It is important to update ``RELEASENOTES.md`` before creating the release tag because a permalink will become part of the package(s).
Post a comment with "/UpdateReleaseNotes" in the body if you would like me to update release notes.
Note: In the comment everything below "/UpdateReleaseNotes" will be added to ``RELEASENOTES.md`` for the version being released. If something is already there it will be replaced.
"@
gh pr comment $pullRequestNumber --body $body
}
}
}
Export-ModuleMember -Function CreatePullRequestToUpdateChangelogsAndPublicApis
function LockPullRequestAndPostNoticeToCreateReleaseTag {
param(
[Parameter(Mandatory=$true)][string]$gitRepository,
[Parameter(Mandatory=$true)][string]$pullRequestNumber,
[Parameter(Mandatory=$true)][string]$botUserName
)
$prViewResponse = gh pr view $pullRequestNumber --json mergeCommit,author,title | ConvertFrom-Json
if ($prViewResponse.author.login -ne $botUserName)
{
throw 'PR author was unexpected'
}
$match = [regex]::Match($prViewResponse.title, '^\[release\] Prepare release (.*)$')
if ($match.Success -eq $false)
{
throw 'Could not parse tag from PR title'
}
$tag = $match.Groups[1].Value
$commit = $prViewResponse.mergeCommit.oid
if ([string]::IsNullOrEmpty($commit) -eq $true)
{
throw 'Could not find merge commit'
}
$body =
@"
I noticed this PR was merged.
Post a comment with "/CreateReleaseTag" in the body if you would like me to create the release tag ``$tag`` for [the merge commit](https://github.com/$gitRepository/commit/$commit) which will trigger the package workflow.
"@
gh pr comment $pullRequestNumber --body $body
gh pr lock $pullRequestNumber
}
Export-ModuleMember -Function LockPullRequestAndPostNoticeToCreateReleaseTag
function CreateReleaseTagAndPostNoticeOnPullRequest {
param(
[Parameter(Mandatory=$true)][string]$gitRepository,
[Parameter(Mandatory=$true)][string]$pullRequestNumber,
[Parameter(Mandatory=$true)][string]$botUserName,
[Parameter()][string]$gitUserName,
[Parameter()][string]$gitUserEmail
)
$prViewResponse = gh pr view $pullRequestNumber --json mergeCommit,author,title | ConvertFrom-Json
if ($prViewResponse.author.login -ne $botUserName)
{
throw 'PR author was unexpected'
}
$match = [regex]::Match($prViewResponse.title, '^\[release\] Prepare release (.*)$')
if ($match.Success -eq $false)
{
throw 'Could not parse tag from PR title'
}
$tag = $match.Groups[1].Value
$commit = $prViewResponse.mergeCommit.oid
if ([string]::IsNullOrEmpty($commit) -eq $true)
{
throw 'Could not find merge commit'
}
if ([string]::IsNullOrEmpty($gitUserName) -eq $false)
{
git config user.name $gitUserName
}
if ([string]::IsNullOrEmpty($gitUserEmail) -eq $false)
{
git config user.email $gitUserEmail
}
git tag -a $tag -m "$tag" $commit 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git tag failure'
}
git push origin $tag 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git push failure'
}
$body =
@"
I just pushed the [$tag](https://github.com/$gitRepository/releases/tag/$tag) tag.
The [package workflow](https://github.com/$gitRepository/actions/workflows/publish-packages-1.0.yml) should begin momentarily.
"@
gh pr comment $pullRequestNumber --body $body
}
Export-ModuleMember -Function CreateReleaseTagAndPostNoticeOnPullRequest
function UpdateChangelogReleaseDatesAndPostNoticeOnPullRequest {
param(
[Parameter(Mandatory=$true)][string]$gitRepository,
[Parameter(Mandatory=$true)][string]$pullRequestNumber,
[Parameter(Mandatory=$true)][string]$botUserName,
[Parameter(Mandatory=$true)][string]$commentUserName,
[Parameter()][string]$gitUserName,
[Parameter()][string]$gitUserEmail
)
$prViewResponse = gh pr view $pullRequestNumber --json headRefName,author,title | ConvertFrom-Json
if ($prViewResponse.author.login -ne $botUserName)
{
throw 'PR author was unexpected'
}
$match = [regex]::Match($prViewResponse.title, '^\[release\] Prepare release (.*)$')
if ($match.Success -eq $false)
{
throw 'Could not parse tag from PR title'
}
$tag = $match.Groups[1].Value
$match = [regex]::Match($tag, '^(.*?-)(.*)$')
if ($match.Success -eq $false)
{
throw 'Could not parse prefix or version from tag'
}
$tagPrefix = $match.Groups[1].Value
$version = $match.Groups[2].Value
$commentUserPermission = gh api "repos/$gitRepository/collaborators/$commentUserName/permission" | ConvertFrom-Json
if ($commentUserPermission.permission -ne 'admin' -and $commentUserPermission.permission -ne 'write')
{
gh pr comment $pullRequestNumber `
--body "I'm sorry @$commentUserName but you don't have permission to update this PR. Only maintainers and approvers can update this PR."
return
}
if ([string]::IsNullOrEmpty($gitUserName) -eq $false)
{
git config user.name $gitUserName
}
if ([string]::IsNullOrEmpty($gitUserEmail) -eq $false)
{
git config user.email $gitUserEmail
}
git switch $prViewResponse.headRefName 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git switch failure'
}
$updatedFiles = 0
$newHeader =
@"
## $version
Released $(Get-Date -UFormat '%Y-%b-%d')
"@
$projectDirs = Get-ChildItem -Path src/**/*.csproj | Select-String "<MinVerTagPrefix>$tagPrefix</MinVerTagPrefix>" -List | Select Path | Split-Path -Parent
foreach ($projectDir in $projectDirs)
{
$content = (Get-Content "$projectDir/CHANGELOG.md" -Raw)
$newContent = $content -replace "## $version\s*Released .*", $newHeader
if ($content -ne $newContent)
{
$updatedFiles++
Set-Content -Path "$projectDir/CHANGELOG.md" $newContent.Trim()
}
}
if ($updatedFiles -eq 0)
{
gh pr comment $pullRequestNumber --body "All of the CHANGELOG files have valid release dates."
return
}
git commit -a -m "Update CHANGELOG release dates for $tag." 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git commit failure'
}
git push -u origin $prViewResponse.headRefName 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git push failure'
}
gh pr comment $pullRequestNumber --body "I updated the CHANGELOG release dates."
}
Export-ModuleMember -Function UpdateChangelogReleaseDatesAndPostNoticeOnPullRequest
function UpdateReleaseNotesAndPostNoticeOnPullRequest {
param(
[Parameter(Mandatory=$true)][string]$gitRepository,
[Parameter(Mandatory=$true)][string]$pullRequestNumber,
[Parameter(Mandatory=$true)][string]$botUserName,
[Parameter(Mandatory=$true)][string]$commentUserName,
[Parameter(Mandatory=$true)][string]$commentBody,
[Parameter()][string]$gitUserName,
[Parameter()][string]$gitUserEmail
)
$prViewResponse = gh pr view $pullRequestNumber --json headRefName,author,title | ConvertFrom-Json
if ($prViewResponse.author.login -ne $botUserName)
{
throw 'PR author was unexpected'
}
$match = [regex]::Match($prViewResponse.title, '^\[release\] Prepare release (.*)$')
if ($match.Success -eq $false)
{
throw 'Could not parse tag from PR title'
}
$tag = $match.Groups[1].Value
$match = [regex]::Match($tag, '^(.*?-)(.*)$')
if ($match.Success -eq $false)
{
throw 'Could not parse prefix or version from tag'
}
$tagPrefix = $match.Groups[1].Value
$version = $match.Groups[2].Value
$isPrerelease = $version -match '-alpha' -or $version -match '-beta' -or $version -match '-rc'
$commentUserPermission = gh api "repos/$gitRepository/collaborators/$commentUserName/permission" | ConvertFrom-Json
if ($commentUserPermission.permission -ne 'admin' -and $commentUserPermission.permission -ne 'write')
{
gh pr comment $pullRequestNumber `
--body "I'm sorry @$commentUserName but you don't have permission to update this PR. Only maintainers and approvers can update this PR."
return
}
if ($tagPrefix -ne 'core-' -or $isPrerelease -eq $true)
{
gh pr comment $pullRequestNumber `
--body "I'm sorry @$commentUserName but we don't typically add release notes for prereleases or unstable packages."
return
}
if ([string]::IsNullOrEmpty($gitUserName) -eq $false)
{
git config user.name $gitUserName
}
if ([string]::IsNullOrEmpty($gitUserEmail) -eq $false)
{
git config user.email $gitUserEmail
}
git switch $prViewResponse.headRefName 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git switch failure'
}
$releaseNotesContent = (Get-Content -Path "RELEASENOTES.md" -Raw)
$match = [regex]::Match($commentBody, '[\w\W\s]*\/UpdateReleaseNotes.*$([\w\W\s]*)', [Text.RegularExpressions.RegexOptions]::Multiline)
if ($match.Success -eq $false)
{
throw 'Could not find release notes content'
}
$content = $match.Groups[1].Value.Trim() -replace "`r`n", "`n"
$body =
@"
## $version
Release details: [$version](https://github.com/$gitRepository/releases/tag/$tagPrefix$version)
$content
##
"@
$match = [regex]::Match($releaseNotesContent, "(## $version[\w\W\s]*?)##", [Text.RegularExpressions.RegexOptions]::Multiline)
if ($match.Success -eq $true)
{
$content = [regex]::Replace($releaseNotesContent, "(## $version[\w\W\s]*?)##", $body, [Text.RegularExpressions.RegexOptions]::Multiline)
Set-Content -Path "RELEASENOTES.md" -Value $content.TrimEnd()
}
else {
$match = [regex]::Match($releaseNotesContent, '(# Release Notes[\w\W\s]*?)##', [Text.RegularExpressions.RegexOptions]::Multiline)
if ($match.Success -eq $false)
{
throw 'Could not find release notes header'
}
$body = $match.Groups[1].Value + $body
$content = [regex]::Replace($releaseNotesContent, '(# Release Notes[\w\W\s]*?)##', $body, [Text.RegularExpressions.RegexOptions]::Multiline)
Set-Content -Path "RELEASENOTES.md" -Value $content.TrimEnd()
}
git commit -a -m "Update RELEASENOTES for $tag." 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git commit failure'
}
git push -u origin $prViewResponse.headRefName 2>&1 | % ToString
if ($LASTEXITCODE -gt 0)
{
throw 'git push failure'
}
gh pr comment $pullRequestNumber --body "I updated ``RELEASENOTES.md``."
}
Export-ModuleMember -Function UpdateReleaseNotesAndPostNoticeOnPullRequest

View File

@ -8,7 +8,7 @@ CR = b'\r'
CRLF = b'\r\n'
LF = b'\n'
def sanitycheck(pattern, allow_utf8 = False, allow_eol = (CRLF, LF)):
def sanitycheck(pattern, allow_utf8 = False, allow_eol = (CRLF, LF), indent = 1):
error_count = 0
for filename in glob.glob(pattern, recursive=True):
@ -26,6 +26,8 @@ def sanitycheck(pattern, allow_utf8 = False, allow_eol = (CRLF, LF)):
for line in content.splitlines(True):
if allow_utf8 and lineno == 1 and line.startswith(b'\xef\xbb\xbf'):
line = line[3:]
if any(b == 7 for b in line):
error.append(' TAB found at Ln:{} {}'.format(lineno, line))
if any(b > 127 for b in line):
error.append(' Non-ASCII character found at Ln:{} {}'.format(lineno, line))
if line[-2:] == CRLF:
@ -47,6 +49,14 @@ def sanitycheck(pattern, allow_utf8 = False, allow_eol = (CRLF, LF)):
if eol not in allow_eol:
error.append(' Line ending {} not allowed at Ln:{}'.format(eol, lineno))
break
if line.startswith(b' '):
spc_count = 0
for c in line:
if c != 32:
break
spc_count += 1
if not indent or spc_count % indent:
error.append(' {} SPC found at Ln:{} {}'.format(spc_count, lineno, line))
if line[-1:] == b' ' or line[-1:] == b'\t':
error.append(' Trailing space found at Ln:{} {}'.format(lineno, line))
lineno += 1
@ -62,19 +72,26 @@ def sanitycheck(pattern, allow_utf8 = False, allow_eol = (CRLF, LF)):
return error_count
retval = 0
retval += sanitycheck('**/*.cmd', allow_eol = (CRLF,))
retval += sanitycheck('**/*.config', allow_utf8 = True, allow_eol = (LF,))
retval += sanitycheck('.editorconfig', allow_eol = (LF,), indent = 0)
retval += sanitycheck('.github/**/*.md', allow_eol = (LF,))
retval += sanitycheck('.github/**/*.yml', allow_eol = (LF,), indent = 2)
retval += sanitycheck('.vscode/**/*.json', allow_eol = (LF,), indent = 2)
retval += sanitycheck('**/Dockerfile', allow_eol = (LF,), indent = 2)
retval += sanitycheck('**/*.cmd', allow_eol = (CRLF,), indent = 2)
retval += sanitycheck('**/*.config', allow_utf8 = True, allow_eol = (LF,), indent = 2)
retval += sanitycheck('**/*.cs', allow_utf8 = True, allow_eol = (LF,))
retval += sanitycheck('**/*.cshtml', allow_utf8 = True, allow_eol = (LF,))
retval += sanitycheck('**/*.csproj', allow_utf8 = True, allow_eol = (LF,))
retval += sanitycheck('**/*.htm', allow_eol = (LF,))
retval += sanitycheck('**/*.html', allow_eol = (LF,))
retval += sanitycheck('**/*.cshtml', allow_utf8 = True, allow_eol = (LF,), indent = 4)
retval += sanitycheck('**/*.csproj', allow_utf8 = True, allow_eol = (LF,), indent = 2)
retval += sanitycheck('**/*.htm', allow_eol = (LF,), indent = 4)
retval += sanitycheck('**/*.html', allow_eol = (LF,), indent = 4)
retval += sanitycheck('**/*.md', allow_eol = (LF,))
retval += sanitycheck('**/*.proj', allow_eol = (LF,))
retval += sanitycheck('**/*.props', allow_eol = (LF,))
retval += sanitycheck('**/*.py', allow_eol = (LF,))
retval += sanitycheck('**/*.ruleset', allow_utf8 = True, allow_eol = (LF,))
retval += sanitycheck('**/*.sln', allow_utf8 = True, allow_eol = (LF,))
retval += sanitycheck('**/*.xml', allow_eol = (LF,))
retval += sanitycheck('**/*.proj', allow_eol = (LF,), indent = 2)
retval += sanitycheck('**/*.props', allow_eol = (LF,), indent = 2)
retval += sanitycheck('**/*.py', allow_eol = (LF,), indent = 4)
retval += sanitycheck('**/*.ruleset', allow_utf8 = True, allow_eol = (LF,), indent = 2)
retval += sanitycheck('**/*.sln', allow_utf8 = True, allow_eol = (LF,), indent = 4)
retval += sanitycheck('**/*.targets', allow_eol = (LF,), indent = 2)
retval += sanitycheck('**/*.xml', allow_eol = (LF,), indent = 4)
retval += sanitycheck('**/*.yml', allow_eol = (LF,), indent = 2)
sys.exit(retval)

View File

@ -0,0 +1,49 @@
param([string]$targetNetFramework)
$rootDirectory = Get-Location
$publishOutput = dotnet publish $rootDirectory/test/OpenTelemetry.AotCompatibility.TestApp/OpenTelemetry.AotCompatibility.TestApp.csproj --framework $targetNetFramework -nodeReuse:false /p:UseSharedCompilation=false /p:ExposeExperimentalFeatures=true
$actualWarningCount = 0
foreach ($line in $($publishOutput -split "`r`n"))
{
if (($line -like "*analysis warning IL*") -or ($line -like "*analysis error IL*"))
{
Write-Host $line
$actualWarningCount += 1
}
}
Write-Host "Actual warning count is:", $actualWarningCount
$expectedWarningCount = 0
if ($LastExitCode -ne 0)
{
Write-Host "There was an error while publishing AotCompatibility Test App. LastExitCode is:", $LastExitCode
Write-Host $publishOutput
}
$app = $IsWindows ? "./OpenTelemetry.AotCompatibility.TestApp.exe" : "./OpenTelemetry.AotCompatibility.TestApp"
Push-Location $rootDirectory/artifacts/publish/OpenTelemetry.AotCompatibility.TestApp/release_$targetNetFramework
Write-Host "Executing test App..."
$app
Write-Host "Finished executing test App"
if ($LastExitCode -ne 0)
{
Write-Host "There was an error while executing AotCompatibility Test App. LastExitCode is:", $LastExitCode
}
Pop-Location
$testPassed = 0
if ($actualWarningCount -ne $expectedWarningCount)
{
$testPassed = 1
Write-Host "Actual warning count:", $actualWarningCount, "is not as expected. Expected warning count is:", $expectedWarningCount
}
Exit $testPassed

View File

@ -0,0 +1,51 @@
param(
[Parameter()][string]$coyoteVersion="1.7.11",
[Parameter(Mandatory=$true)][string]$testProjectName,
[Parameter(Mandatory=$true)][string]$targetFramework,
[Parameter()][string]$categoryName="CoyoteConcurrencyTests",
[Parameter()][string]$configuration="Release"
)
$ErrorActionPreference = "Stop"
$env:OTEL_RUN_COYOTE_TESTS = 'true'
$rootDirectory = Get-Location
Write-Host "Install Coyote CLI."
dotnet tool install --global Microsoft.Coyote.CLI --version $coyoteVersion
if ($LASTEXITCODE -ne 0) {
throw "Microsoft.Coyote.CLI installation failed with exit code $LASTEXITCODE"
}
Write-Host "Build $testProjectName project."
dotnet build "$rootDirectory/test/$testProjectName/$testProjectName.csproj" --configuration $configuration
if ($LASTEXITCODE -ne 0) {
throw "dotnet build failed with exit code $LASTEXITCODE"
}
$artifactsPath = Join-Path $rootDirectory "artifacts/bin/$testProjectName/$($configuration.ToLowerInvariant())_$targetFramework"
Write-Host "Generate Coyote rewriting options JSON file."
$assemblies = Get-ChildItem $artifactsPath -Filter OpenTelemetry*.dll | ForEach-Object {$_.Name}
$RewriteOptionsJson = @{}
[void]$RewriteOptionsJson.Add("AssembliesPath", $artifactsPath)
[void]$RewriteOptionsJson.Add("Assemblies", $assemblies)
$RewriteOptionsJson | ConvertTo-Json -Compress | Set-Content -Path "$rootDirectory/test/$testProjectName/rewrite.coyote.json"
Write-Host "Run Coyote rewrite."
coyote rewrite "$rootDirectory/test/$testProjectName/rewrite.coyote.json"
if ($LASTEXITCODE -ne 0) {
throw "coyote rewrite failed with exit code $LASTEXITCODE"
}
Write-Host "Execute re-written binary."
dotnet test "$artifactsPath/$testProjectName.dll" --framework $targetFramework --filter CategoryName=$categoryName
if ($LASTEXITCODE -ne 0) {
throw "dotnet test failed with exit code $LASTEXITCODE"
}

View File

@ -0,0 +1,20 @@
param(
[Parameter(Mandatory=$true)][string]$minVerTagPrefix,
[Parameter(Mandatory=$true)][string]$version
)
$projectDirs = Get-ChildItem -Path src/**/*.csproj | Select-String "<MinVerTagPrefix>$minVerTagPrefix</MinVerTagPrefix>" -List | Select Path | Split-Path -Parent
$content = "Unreleased
## $version
Released $(Get-Date -UFormat '%Y-%b-%d')"
foreach ($projectDir in $projectDirs) {
$path = Join-Path -Path $projectDir -ChildPath "CHANGELOG.md"
Write-Host "Updating $path"
(Get-Content -Path $path) -replace "Unreleased", $content | Set-Content -Path $path
}

View File

@ -2,8 +2,8 @@
"$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
"settings": {
"documentationRules": {
"companyName": "OpenTelemetry Authors",
"copyrightText": "Copyright The OpenTelemetry Authors\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License."
"copyrightText": "Copyright The OpenTelemetry Authors\nSPDX-License-Identifier: Apache-2.0",
"xmlHeader": false
},
"orderingRules": {
"usingDirectivesPlacement": "outsideNamespace"

View File

@ -1,19 +1,11 @@
<Project>
<Import Project="$([System.IO.Path]::Combine($(MSBuildThisFileDirectory), '..', 'Directory.Build.props'))" />
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'OpenTelemetry.sln'))\build\Common.nonprod.props" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<!-- https://dotnet.microsoft.com/download/dotnet-core -->
<TargetFrameworks>netcoreapp3.1;net5.0</TargetFrameworks>
<!-- https://dotnet.microsoft.com/download/dotnet-framework -->
<TargetFrameworks Condition="$(OS) == 'Windows_NT'">$(TargetFrameworks);net461;net462;net47;net471;net472;net48</TargetFrameworks>
</PropertyGroup>
<PropertyGroup Label="Package versions used in this folder">
<!--
Please sort alphabetically.
Refer to https://docs.microsoft.com/en-us/nuget/concepts/package-versioning for semver syntax.
-->
<MicrosoftExtensionsLoggingPkgVer>[5.0.0,6.0)</MicrosoftExtensionsLoggingPkgVer>
<TargetFrameworks>$(TargetFrameworksForDocs)</TargetFrameworks>
<!-- Opt-out of Artifacts Output for docs as there are duplicated project names -->
<UseArtifactsOutput>false</UseArtifactsOutput>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,3 @@
<Project>
<Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Packages.props, $(MSBuildThisFileDirectory)..))" />
</Project>

134
docs/README.md Normal file
View File

@ -0,0 +1,134 @@
# OpenTelemetry .NET SDK
## Initialize the SDK
There are two different common initialization styles supported by OpenTelemetry.
### Initialize the SDK using a host
Users building applications based on
[Microsoft.Extensions.Hosting](https://www.nuget.org/packages/Microsoft.Extensions.Hosting)
should utilize the
[OpenTelemetry.Extensions.Hosting](../src/OpenTelemetry.Extensions.Hosting/README.md)
package to initialize OpenTelemetry. This style provides a deep integration
between the host infrastructure (`IServiceCollection`, `IServiceProvider`,
`IConfiguration`, etc.) and OpenTelemetry.
[AspNetCore](https://learn.microsoft.com/aspnet/core/fundamentals/host/web-host)
applications are the most common to use the hosting model but there is also a
[Generic Host](https://learn.microsoft.com/dotnet/core/extensions/generic-host)
which may be used in console, service, and worker applications.
> [!NOTE]
> When using `OpenTelemetry.Extensions.Hosting` only a single pipeline will be
> created for each configured signal (logging, metrics, and/or tracing). Users
> who need more granular control can create additional pipelines using the
> manual style below.
First install the
[OpenTelemetry.Extensions.Hosting](../src/OpenTelemetry.Extensions.Hosting/README.md)
package.
Second call the `AddOpenTelemetry` extension using the host
`IServiceCollection`:
```csharp
var builder = WebApplication.CreateBuilder(args);
// Clear the default logging providers added by the host
builder.Logging.ClearProviders();
// Initialize OpenTelemetry
builder.Services.AddOpenTelemetry()
.ConfigureResource(resource => /* Resource configuration goes here */)
.WithLogging(logging => /* Logging configuration goes here */)
.WithMetrics(metrics => /* Metrics configuration goes here */)
.WithTracing(tracing => /* Tracing configuration goes here */));
```
> [!NOTE]
> Calling `WithLogging` automatically registers the OpenTelemetry
> `ILoggerProvider` and enables `ILogger` integration.
### Initialize the SDK manually
Users running on .NET Framework or running without a host may initialize
OpenTelemetry manually.
> [!IMPORTANT]
> When initializing OpenTelemetry manually make sure to ALWAYS dispose the SDK
> and/or providers when the application is shutting down. Disposing
> OpenTelemetry gives the SDK a chance to flush any telemetry held in memory.
> Skipping this step may result in data loss.
First install the [OpenTelemetry SDK](../src/OpenTelemetry/README.md) package or
an exporter package such as
[OpenTelemetry.Exporter.OpenTelemetryProtocol](../src/OpenTelemetry.Exporter.OpenTelemetryProtocol/README.md).
Exporter packages typically reference the SDK and will make it available via
transitive reference.
Second use one of the following initialization APIs (depending on the SDK
version being used):
#### Using 1.10.0 or newer
The `OpenTelemetrySdk.Create` API can be used to initialize all signals off a
single root builder and supports cross-cutting extensions such as
`ConfigureResource` which configures a `Resource` to be used by all enabled
signals. An `OpenTelemetrySdk` instance is returned which may be used to access
providers for each signal. Calling `Dispose` on the returned instance will
gracefully shutdown the SDK and flush any telemetry held in memory.
> [!NOTE]
> When calling `OpenTelemetrySdk.Create` a dedicated `IServiceCollection` and
> `IServiceProvider` will be created for the SDK and shared by all signals. An
> `IConfiguration` is created automatically from environment variables.
```csharp
using OpenTelemetry;
var sdk = OpenTelemetrySdk.Create(builder => builder
.ConfigureResource(resource => /* Resource configuration goes here */)
.WithLogging(logging => /* Logging configuration goes here */)
.WithMetrics(metrics => /* Metrics configuration goes here */)
.WithTracing(tracing => /* Tracing configuration goes here */));
// During application shutdown
sdk.Dispose();
```
To obtain an `ILogger` instance for emitting logs when using the
`OpenTelemetrySdk.Create` API call the `GetLoggerFactory` extension method using
the returned `OpenTelemetrySdk` instance:
```csharp
var logger = sdk.GetLoggerFactory().CreateLogger<Program>();
logger.LogInformation("Application started");
```
#### Using 1.9.0 or older
The following shows how to create providers for each individual signal. Each
provider is independent and must be managed and disposed explicitly. There is no
mechanism using this style to perform cross-cutting actions across signals.
```csharp
using Microsoft.Extensions.Logging;
using OpenTelemetry;
var tracerProvider = Sdk.CreateTracerProviderBuilder()
/* Tracing configuration goes here */
.Build();
var meterProvider = Sdk.CreateMeterProviderBuilder()
/* Metrics configuration goes here */
.Build();
var loggerFactory = LoggerFactory.Create(builder => builder
.AddOpenTelemetry(options => /* Logging configuration goes here */));
// During application shutdown
tracerProvider.Dispose();
meterProvider.Dispose();
loggerFactory.Dispose();
```

View File

@ -0,0 +1,24 @@
# OpenTelemetry Diagnostics
This document describes the diagnostic categories used in OpenTelemetry .NET
components. Diagnostics are used by the compiler to report information to users
about experimental and/or obsolete code being invoked or to suggest improvements
to specific code patterns identified through static analysis.
## Experimental APIs
Range: OTEL1000 - OTEL1999
Experimental APIs exposed in OpenTelemetry .NET pre-relase builds. APIs are
exposed experimentally when either the OpenTelemetry Specification has
explicitly marked some feature as
[experimental](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/document-status.md)
or when the SIG members are still working through the design for a feature and
want to solicit feedback from the community.
> [!NOTE]
> Experimental APIs are exposed as `public` in pre-release builds and `internal`
in stable builds.
For defined diagnostics see: [OpenTelemetry .NET Experimental
APIs](./experimental-apis/README.md)

View File

@ -0,0 +1,48 @@
# OpenTelemetry .NET Diagnostic: OTEL1000
## Overview
This is an Experimental API diagnostic covering the following APIs:
* `ILoggingBuilder.UseOpenTelemetry`
Experimental APIs may be changed or removed in the future.
The following portions of `OTEL1000` were released stable in `1.9.0` and are no
longer considered experimental:
* `LoggerProviderBuilder`
* `LoggerProvider`
* `IDeferredLoggerProviderBuilder`
* `OpenTelemetryBuilder.WithLogging`
## Details
The OpenTelemetry Specification defines a `LoggerProvider` as part of its
[API](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/bridge-api.md)
&
[SDK](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/sdk.md)
components.
The SDK allows calling `Shutdown` and `ForceFlush` on the `LoggerProvider` and
also allows processors to be added dynamically to a pipeline after its creation.
Today the OpenTelemetry .NET log pipeline is built on top of the
Microsoft.Extensions.Logging `ILogger` \ `ILoggerProvider` \ `ILoggerFactory`
APIs which do not expose such features.
We also have an issue with the `ILoggingBuilder.AddOpenTelemetry` API in that it
interacts with the `OpenTelemetryLoggerOptions` class. Options classes are NOT
available until the `IServiceProvider` is available and services can no longer
be registered at that point. This prevents the current logging pipeline from
exposing the same dependency injection surface we have for traces and metrics.
We are exposing these APIs to solve these issues and gather feedback about their
usefulness.
## Logs Bridge API
The OpenTelemetry Specification defines a Logs Bridge API which is rooted off of
the `LoggerProvider` (`GetLogger`) and exposes a `Logger` API to submit log
records. See [OTEL1001](./OTEL1001.md) for details about the Logs Bridge API
implementation status.

View File

@ -0,0 +1,36 @@
# OpenTelemetry .NET Diagnostic: OTEL1001
## Overview
This is an Experimental API diagnostic covering the following APIs:
* `LoggerProvider.GetLogger`
* `Logger`
* `LogRecordAttributeList`
* `LogRecordData`
* `LogRecordSeverity`
* `Sdk.CreateLoggerProviderBuilder`
Experimental APIs may be changed or removed in the future.
## Details
The OpenTelemetry Specification defines a [Logs Bridge
API](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/bridge-api.md).
The Logs Bridge API is used by library authors to build log appenders which
route messages from different log frameworks into OpenTelemetry.
Today the OpenTelemetry .NET log pipeline is built on top of the
Microsoft.Extensions.Logging `ILogger` \ `ILoggerProvider` \ `ILoggerFactory`
APIs.
We are exposing these APIs gather feedback about their usefulness. An
alternative approach may be taken which would be to append into `ILogger`
instead of OpenTelemetry directly.
## LoggerProvider API
The OpenTelemetry Specification defines a `LoggerProvider` API. See
[OTEL1000](./OTEL1000.md) for details about the `LoggerProvider` implementation
status.

View File

@ -0,0 +1,62 @@
# OpenTelemetry .NET Diagnostic: OTEL1004
## Overview
This is an Experimental API diagnostic covering the following APIs:
* `ExemplarReservoir`
* `FixedSizeExemplarReservoir`
* `ExemplarMeasurement<T>`
* `MetricStreamConfiguration.ExemplarReservoirFactory.get`
* `MetricStreamConfiguration.ExemplarReservoirFactory.set`
Experimental APIs may be changed or removed in the future.
## Details
The OpenTelemetry Specification defines an [ExemplarReservoir
API](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#exemplarreservoir)
and a mechanism for configuring `ExemplarReservoir` via the [View
API](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#stream-configuration)
in the Metrics SDK.
From the specification:
> The SDK MUST provide a mechanism for SDK users to provide their own
> ExemplarReservoir implementation. This extension MUST be configurable on a
> metric View, although individual reservoirs MUST still be instantiated per
> metric-timeseries...
We are exposing these APIs experimentally for the following reasons:
* `FixedSizeExemplarReservoir` is not part of the spec. It is meant to help
custom reservoir authors and takes care of correctly creating & updating
`struct Exemplar`s (managing tag filtering when views are used), handles
`Exemplar` collection, and ensures all operations are safe to be called
concurrency (spec requirement). We want to see if this is helpful and meets
the needs of users.
* There is currently no way to use
`MetricStreamConfiguration.ExemplarReservoirFactory` to switch a metric to a
different built-in reservoir (`AlignedHistogramBucketExemplarReservoir` or
`SimpleFixedSizeExemplarReservoir`). This is something supported by the spec
but we want to understand the use cases and needs before exposing these types.
Also it seems the default reservoirs may change.
* There is currently no way to get access to the bucket index inside a reservoir
when a measurement is recorded against a histogram with explicit bounds. The
spec says the reservoir should calculate this given the
definition/configuration of the bounds but the SDK has already done this
computation. It seems unncessarily complicated to expose the configuration and
wasteful to do the work twice. We want to understand the types of algorithms
which users will want to implement before exposing something.
**TL;DR** We want to gather feedback on the usability of the API and for the
need(s) in general for custom reservoirs before exposing a stable API.
## Provide feedback
Please provide feedback on [this
issue](https://github.com/open-telemetry/opentelemetry-dotnet/issues/5629) if
you need stable support for custom `ExemplarReservoir`s. The feedback will help
inform decisions about what to expose stable and when.

View File

@ -0,0 +1,62 @@
# OpenTelemetry .NET Experimental APIs
This document describes experimental APIs exposed in OpenTelemetry .NET
pre-relase builds. APIs are exposed experimentally when either the OpenTelemetry
Specification has explicitly marked some feature as
[experimental](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/document-status.md)
or when the SIG members are still working through the design for a feature and
want to solicit feedback from the community.
> [!NOTE]
> Experimental APIs are exposed as `public` in pre-release builds and `internal`
in stable builds.
## Active
Experimental APIs available in the pre-release builds:
### OTEL1000
Description: `LoggerProvider` and `LoggerProviderBuilder`
Details: [OTEL1000](./OTEL1000.md)
### OTEL1001
Description: Logs Bridge API
Details: [OTEL1001](./OTEL1001.md)
### OTEL1004
Description: ExemplarReservoir Support
Details: [OTEL1004](./OTEL1004.md)
## Inactive
Experimental APIs which have been released stable or removed:
<!-- When an experimental API is released or removed:
1) Move the section from above down here.
2) Delete the individual file from the repo and switch the link here to a
permalink to the last version.
3) Add the version info for when the API was released stable or removed. If
removed add details for alternative solution or reasoning.
-->
### OTEL1002
Description: Metrics Exemplar Support
Details: [OTEL1002](https://github.com/open-telemetry/opentelemetry-dotnet/blob/b8ea807bae1a5d9b0f3d6d23b1e1e10f5e096a25/docs/diagnostics/experimental-apis/OTEL1002.md)
Released stable: `1.9.0`
### OTEL1003
Description: MetricStreamConfiguration CardinalityLimit Support
Details: [OTEL1003](https://github.com/open-telemetry/opentelemetry-dotnet/blob/9f41eadf03f3dcc5e76c686b61fb39849f046312/docs/diagnostics/experimental-apis/OTEL1003.md)
Released stable: `1.10.0`

View File

@ -29,9 +29,10 @@
{
"files": [
".editorconfig",
"docs/**.cs",
"examples/**.cs",
"src/**.cs"
"**.cs",
"Directory.Packages.props",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT"
]
}
],

383
docs/logs/README.md Normal file
View File

@ -0,0 +1,383 @@
# OpenTelemetry .NET Logs
<details>
<summary>Table of Contents</summary>
* [Best Practices](#best-practices)
* [Package Version](#package-version)
* [Logging API](#logging-api)
* [ILogger](#ilogger)
* [LoggerFactory](#loggerfactory)
* [Log Correlation](#log-correlation)
* [Log Enrichment](#log-enrichment)
* [Log Filtering](#log-filtering)
* [Log Redaction](#log-redaction)
</details>
## Best Practices
The following tutorials have demonstrated the best practices for logging with
OpenTelemetry .NET:
* [Getting Started - ASP.NET Core
Application](./getting-started-aspnetcore/README.md)
* [Getting Started - Console Application](./getting-started-console/README.md)
* [Logging with Complex Objects](./complex-objects/README.md)
## Logging API
### ILogger
.NET supports high performance, structured logging via the
[`Microsoft.Extensions.Logging.ILogger`](https://docs.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger)
interface (including
[`ILogger<TCategoryName>`](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger-1))
to help monitor application behavior and diagnose issues.
#### Package Version
:heavy_check_mark: You should always use the
[`ILogger`](https://docs.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger)
interface (including
[`ILogger<TCategoryName>`](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger-1))
from the latest stable version of
[Microsoft.Extensions.Logging](https://www.nuget.org/packages/Microsoft.Extensions.Logging/)
package, regardless of the .NET runtime version being used:
* If you are using the latest stable version of [OpenTelemetry .NET
SDK](../../src/OpenTelemetry/README.md), you do not have to worry about the
version of `Microsoft.Extensions.Logging` package because it is already taken
care of for you via [package dependency](../../Directory.Packages.props).
* Starting from version `3.1.0`, the .NET runtime team is holding a high bar for
backward compatibility on `Microsoft.Extensions.Logging` even during major
version bumps, so compatibility is not a concern here.
#### Get Logger
In order to use the `ILogger` interface, you need to first get a logger. How to
get a logger depends on two things:
* The type of application you are building.
* The place where you want to log.
Here is the rule of thumb:
* If you are building an application with [dependency injection
(DI)](https://learn.microsoft.com/dotnet/core/extensions/dependency-injection)
(e.g. [ASP.NET Core](https://learn.microsoft.com/aspnet/core) and [.NET
Worker](https://learn.microsoft.com/dotnet/core/extensions/workers)), in most
cases you should use the logger provided by DI, there are special cases when
you want log before DI logging pipeline is available or after DI logging
pipeline is disposed. Refer to the [.NET official
document](https://learn.microsoft.com/dotnet/core/extensions/logging#integration-with-hosts-and-dependency-injection)
and [Getting Started with OpenTelemetry .NET Logs in 5 Minutes - ASP.NET Core
Application](./getting-started-aspnetcore/README.md) tutorial to learn more.
* If you are building an application without DI, create a
[LoggerFactory](#loggerfactory) instance and configure OpenTelemetry to work
with it. Refer to the [Getting Started with OpenTelemetry .NET Logs in 5
Minutes - Console Application](./getting-started-console/README.md) tutorial
to learn more.
:heavy_check_mark: You should use dot-separated
[UpperCamelCase](https://en.wikipedia.org/wiki/Camel_case) as the log category
name, which makes it convenient to [filter logs](#log-filtering). A common
practice is to use fully qualified class name, and if further categorization is
desired, append a subcategory name. Refer to the [.NET official
document](https://learn.microsoft.com/dotnet/core/extensions/logging#log-category)
to learn more.
```csharp
loggerFactory.CreateLogger<MyClass>(); // this is equivalent to CreateLogger("MyProduct.MyLibrary.MyClass")
loggerFactory.CreateLogger("MyProduct.MyLibrary.MyClass"); // use the fully qualified class name
loggerFactory.CreateLogger("MyProduct.MyLibrary.MyClass.DatabaseOperations"); // append a subcategory name
loggerFactory.CreateLogger("MyProduct.MyLibrary.MyClass.FileOperations"); // append another subcategory name
```
:stop_sign: You should avoid creating loggers too frequently. Although loggers
are not super expensive, they still come with CPU and memory cost, and are meant
to be reused throughout the application. Refer to the [logging performance
benchmark](../../test/Benchmarks/Logs/LogBenchmarks.cs) for more details.
#### Write log messages
:heavy_check_mark: You should use structured logging.
* Structured logging is more efficient than unstructured logging.
* Filtering and redaction can happen on individual key-value pairs instead of
the entire log message.
* Storage and indexing are more efficient.
* Structured logging makes it easier to manage and consume logs.
```csharp
var food = "tomato";
var price = 2.99;
logger.LogInformation("Hello from {food} {price}.", food, price);
```
:stop_sign: You should avoid string interpolation.
> [!WARNING]
> The following code has bad performance due to [string
interpolation](https://learn.microsoft.com/dotnet/csharp/tutorials/string-interpolation):
```csharp
var food = "tomato";
var price = 2.99;
logger.LogInformation($"Hello from {food} {price}.");
```
Refer to the [logging performance
benchmark](../../test/Benchmarks/Logs/LogBenchmarks.cs) for more details.
:heavy_check_mark: You should use [compile-time logging source
generation](https://docs.microsoft.com/dotnet/core/extensions/logger-message-generator)
pattern to achieve the best performance.
```csharp
var food = "tomato";
var price = 2.99;
logger.SayHello(food, price);
internal static partial class LoggerExtensions
{
[LoggerMessage(Level = LogLevel.Information, Message = "Hello from {food} {price}.")]
public static partial void SayHello(this ILogger logger, string food, double price);
}
```
> [!NOTE]
> There is no need to pass in an explicit
[EventId](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.eventid)
while using
[LoggerMessageAttribute](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.loggermessageattribute).
A durable `EventId` will be automatically assigned based on the hash of the
method name during code generation.
:heavy_check_mark: You can use
[LogPropertiesAttribute](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.logpropertiesattribute)
from
[Microsoft.Extensions.Telemetry.Abstractions](https://www.nuget.org/packages/Microsoft.Extensions.Telemetry.Abstractions/)
if you need to log complex objects. Check out the [Logging with Complex
Objects](./complex-objects/README.md) tutorial for more details.
:stop_sign: You should avoid the extension methods from
[LoggerExtensions](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.loggerextensions),
these methods are not optimized for performance.
> [!WARNING]
> The following code has bad performance due to
[boxing](https://learn.microsoft.com/dotnet/csharp/programming-guide/types/boxing-and-unboxing):
```csharp
var food = "tomato";
var price = 2.99;
logger.LogInformation("Hello from {food} {price}.", food, price);
```
Refer to the [logging performance
benchmark](../../test/Benchmarks/Logs/LogBenchmarks.cs) for more details.
:heavy_check_mark: You should hold a high bar while using
[`ILogger.IsEnabled`](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger.isenabled).
The logging API is highly optimized for the scenario where most loggers are
**disabled** for certain log levels. Making an extra call to `IsEnabled` before
logging will not give you any performance gain.
> [!WARNING]
> The `logger.IsEnabled(LogLevel.Information)` call in the following code is not
going to give any performance gain. Refer to the [logging performance
benchmark](../../test/Benchmarks/Logs/LogBenchmarks.cs) for more details.
```csharp
var food = "tomato";
var price = 2.99;
if (logger.IsEnabled(LogLevel.Information)) // do not do this, there is no perf gain
{
logger.SayHello(food, price);
}
internal static partial class LoggerExtensions
{
[LoggerMessage(Level = LogLevel.Information, Message = "Hello from {food} {price}.")]
public static partial void SayHello(this ILogger logger, string food, double price);
}
```
`IsEnabled` can give performance benefits when it is expensive to evaluate the
arguments. For example, in the following code the `Database.GetFoodPrice`
invocation will be skipped if the logger is not enabled:
```csharp
if (logger.IsEnabled(LogLevel.Information))
{
logger.SayHello(food, Database.GetFoodPrice(food));
}
```
Although `IsEnabled` can give some performance benefits in the above scenario,
for most users it can cause more problems. For example, the performance of the
code is now depending on which logger is being enabled, not to mention the
argument evaluation might have significant side effects that are now depending
on the logging configuration.
:heavy_check_mark: You should use a dedicated parameter to log exceptions when
using the compile-time source generator.
```csharp
var food = "tomato";
var price = 2.99;
try
{
// Execute some logic
logger.SayHello(food, price);
}
catch (Exception ex)
{
logger.SayHelloFailure(ex, food, price);
}
internal static partial class LoggerExtensions
{
[LoggerMessage(Level = LogLevel.Information, Message = "Hello from {food} {price}.")]
public static partial void SayHello(this ILogger logger, string food, double price);
[LoggerMessage(Level = LogLevel.Error, Message = "Could not say hello from {food} {price}.")]
public static partial void SayHelloFailure(this ILogger logger, Exception exception, string food, double price);
}
```
> [!NOTE]
> When using the compile-time source generator the first `Exception` parameter
> detected is automatically given special handling. It **SHOULD NOT** be part of
> the message template. For details see: [Log method
> anatomy](https://learn.microsoft.com/dotnet/core/extensions/logger-message-generator#log-method-anatomy).
:heavy_check_mark: You should use the dedicated overloads to log exceptions when
using the logging extensions methods.
```csharp
var food = "tomato";
var price = 2.99;
try
{
// Execute some logic
logger.LogInformation("Hello from {food} {price}.", food, price);
}
catch (Exception ex)
{
logger.LogError(ex, "Could not say hello from {food} {price}.", food, price);
}
```
:stop_sign: You should avoid adding exception details into the message template.
You want to use the correct `Exception` APIs because the OpenTelemetry
Specification [defines dedicated
attributes](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/exceptions/exceptions-logs.md)
for `Exception` details. The following examples show what **NOT** to do. In
these cases the details won't be lost, but the dedicated attributes also won't
be added.
```csharp
var food = "tomato";
var price = 2.99;
try
{
// Execute some logic
logger.SayHello(food, price);
}
catch (Exception ex)
{
logger.SayHelloFailure(food, price, ex.Message);
}
internal static partial class LoggerExtensions
{
[LoggerMessage(Level = LogLevel.Information, Message = "Hello from {food} {price}.")]
public static partial void SayHello(this ILogger logger, string food, double price);
// BAD - Exception should not be part of the message template. Use the dedicated parameter.
[LoggerMessage(Level = LogLevel.Error, Message = "Could not say hello from {food} {price} {message}.")]
public static partial void SayHelloFailure(this ILogger logger, string food, double price, string message);
}
```
```csharp
var food = "tomato";
var price = 2.99;
try
{
// Execute some logic
logger.LogInformation("Hello from {food} {price}.", food, price);
}
catch (Exception ex)
{
// BAD - Exception should not be part of the message template. Use the dedicated parameter.
logger.LogError("Could not say hello from {food} {price} {message}.", food, price, ex.Message);
}
```
## LoggerFactory
In many cases, you can use [ILogger](#ilogger) without having to interact with
[Microsoft.Extensions.Logging.LoggerFactory](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.loggerfactory)
directly. This section is intended for users who need to create and manage
`LoggerFactory` explicitly.
:stop_sign: You should avoid creating `LoggerFactory` instances too frequently,
`LoggerFactory` is fairly expensive and meant to be reused throughout the
application. For most applications, one `LoggerFactory` instance per process
would be sufficient.
:heavy_check_mark: You should properly manage the lifecycle of
[LoggerFactory](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.loggerfactory)
instances if they are created by you.
* If you forget to dispose the `LoggerFactory` instance before the application
ends, logs might get dropped due to the lack of proper flush.
* If you dispose the `LoggerFactory` instance too early, any subsequent logging
API invocation associated with the logger factory could become no-op (i.e. no
logs will be emitted).
## Log Correlation
In OpenTelemetry, logs are automatically correlated to
[traces](../trace/README.md). Check the [Log
Correlation](./correlation/README.md) tutorial to learn more.
## Log Enrichment
TBD
## Log Filtering
The [Customizing OpenTelemetry .NET SDK for
Logs](./customizing-the-sdk/README.md#log-filtering) document has provided
instructions for basic filtering based on logger category name and severity
level.
For more advanced filtering and sampling, the .NET team has a plan to cover it
in .NET 9 timeframe, please use this [runtime
issue](https://github.com/dotnet/runtime/issues/82465) to track the progress or
provide feedback and suggestions.
## Log Redaction
Logs might contain sensitive information such as passwords and credit card
numbers, proper redaction is required to prevent privacy and security incidents.
Check the [Log Redaction](./redaction/README.md) tutorial to learn more.

View File

@ -0,0 +1,17 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
namespace ComplexObjects;
internal struct FoodRecallNotice
{
public string? BrandName { get; set; }
public string? ProductDescription { get; set; }
public string? ProductType { get; set; }
public string? RecallReasonDescription { get; set; }
public string? CompanyName { get; set; }
}

View File

@ -0,0 +1,39 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
using ComplexObjects;
using Microsoft.Extensions.Logging;
using OpenTelemetry.Logs;
var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddOpenTelemetry(logging =>
{
logging.AddConsoleExporter();
});
});
var logger = loggerFactory.CreateLogger<Program>();
var foodRecallNotice = new FoodRecallNotice
{
BrandName = "Contoso",
ProductDescription = "Salads",
ProductType = "Food & Beverages",
RecallReasonDescription = "due to a possible health risk from Listeria monocytogenes",
CompanyName = "Contoso Fresh Vegetables, Inc.",
};
logger.FoodRecallNotice(foodRecallNotice);
// Dispose logger factory before the application ends.
// This will flush the remaining logs and shutdown the logging pipeline.
loggerFactory.Dispose();
internal static partial class LoggerExtensions
{
[LoggerMessage(LogLevel.Critical)]
public static partial void FoodRecallNotice(
this ILogger logger,
[LogProperties(OmitReferenceName = true)] in FoodRecallNotice foodRecallNotice);
}

View File

@ -0,0 +1,105 @@
# Logging with Complex Objects
In the [Getting Started with OpenTelemetry .NET Logs in 5 Minutes - Console
Application](../getting-started-console/README.md) tutorial, we've learned how
to log primitive data types. In this tutorial, we'll learn how to log complex
objects.
Complex objects logging was introduced in .NET 8.0 via
[LogPropertiesAttribute](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.logpropertiesattribute).
This attribute and the corresponding code generation logic are provided by an
extension package called
[Microsoft.Extensions.Telemetry.Abstractions](https://www.nuget.org/packages/Microsoft.Extensions.Telemetry.Abstractions/).
> [!NOTE]
> Although `Microsoft.Extensions.Telemetry.Abstractions` was introduced in .NET
8.0, it supports previous versions of the target framework (e.g. .NET 6.0).
Refer to the [compatible target
frameworks](https://www.nuget.org/packages/Microsoft.Extensions.Telemetry.Abstractions/#supportedframeworks-body-tab)
for more information.
First, complete the [getting started](../getting-started-console/README.md)
tutorial, then install the
[Microsoft.Extensions.Telemetry.Abstractions](https://www.nuget.org/packages/Microsoft.Extensions.Telemetry.Abstractions/)
package:
```sh
dotnet add package Microsoft.Extensions.Telemetry.Abstractions
```
Define a new complex data type, as shown in [FoodRecallNotice.cs](./FoodRecallNotice.cs):
```csharp
public struct FoodRecallNotice
{
public string? BrandName { get; set; }
public string? ProductDescription { get; set; }
public string? ProductType { get; set; }
public string? RecallReasonDescription { get; set; }
public string? CompanyName { get; set; }
}
```
Update the `Program.cs` file with the code from [Program.cs](./Program.cs). Note
that the following code is added which uses the `LogPropertiesAttribute` to log
the `FoodRecallNotice` object:
```csharp
internal static partial class LoggerExtensions
{
[LoggerMessage(LogLevel.Critical)]
public static partial void FoodRecallNotice(
this ILogger logger,
[LogProperties(OmitReferenceName = true)] in FoodRecallNotice foodRecallNotice);
}
```
The following code is used to create a `FoodRecallNotice` object and log it:
```csharp
var foodRecallNotice = new FoodRecallNotice
{
BrandName = "Contoso",
ProductDescription = "Salads",
ProductType = "Food & Beverages",
RecallReasonDescription = "due to a possible health risk from Listeria monocytogenes",
CompanyName = "Contoso Fresh Vegetables, Inc.",
};
logger.FoodRecallNotice(foodRecallNotice);
```
Run the application again (using `dotnet run`) and you should see the log output
on the console.
```text
LogRecord.Timestamp: 2024-01-12T19:01:16.0604084Z
LogRecord.CategoryName: Program
LogRecord.Severity: Fatal
LogRecord.SeverityText: Critical
LogRecord.FormattedMessage:
LogRecord.Body:
LogRecord.Attributes (Key:Value):
CompanyName: Contoso Fresh Vegetables, Inc.
RecallReasonDescription: due to a possible health risk from Listeria monocytogenes
ProductType: Food & Beverages
ProductDescription: Salads
BrandName: Contoso
LogRecord.EventId: 252550133
LogRecord.EventName: FoodRecallNotice
```
> [!NOTE]
> In this tutorial we've used
[LogPropertiesAttribute.OmitReferenceName](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.logpropertiesattribute.omitreferencename)
which changed the style of attribute names. There are more options available,
check out the [learn more](#learn-more) section for more information.
## Learn more
* [Microsoft.Extensions.Logging.LogPropertiesAttribute](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.logpropertiesattribute)
* [Microsoft.Extensions.Telemetry.Abstractions](https://github.com/dotnet/extensions/blob/main/src/Libraries/Microsoft.Extensions.Telemetry.Abstractions/README.md)
* [Strong-type support feature
request](https://github.com/dotnet/runtime/issues/61947)
* [LogPropertiesAttribute design
proposal](https://github.com/dotnet/runtime/issues/81730)

View File

@ -0,0 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Telemetry.Abstractions" />
<ProjectReference Include="$(RepoRoot)\src\OpenTelemetry.Exporter.Console\OpenTelemetry.Exporter.Console.csproj" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,10 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
using Microsoft.Extensions.Logging;
internal static partial class LoggerExtensions
{
[LoggerMessage(LogLevel.Information, "Food `{name}` price changed to `{price}`.")]
public static partial void FoodPriceChanged(this ILogger logger, string name, double price);
}

View File

@ -0,0 +1,47 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
using System.Diagnostics;
using Microsoft.Extensions.Logging;
using OpenTelemetry;
using OpenTelemetry.Logs;
using OpenTelemetry.Trace;
namespace Correlation;
internal sealed class Program
{
private static readonly ActivitySource MyActivitySource = new("MyCompany.MyProduct.MyLibrary");
public static void Main()
{
var tracerProvider = Sdk.CreateTracerProviderBuilder()
.AddSource("MyCompany.MyProduct.MyLibrary")
.AddConsoleExporter()
.Build();
var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddOpenTelemetry(logging =>
{
logging.AddConsoleExporter();
});
});
var logger = loggerFactory.CreateLogger<Program>();
using (var activity = MyActivitySource.StartActivity("SayHello"))
{
// Write a log within the context of an activity
logger.FoodPriceChanged("artichoke", 9.99);
}
// Dispose logger factory before the application ends.
// This will flush the remaining logs and shutdown the logging pipeline.
loggerFactory.Dispose();
// Dispose tracer provider before the application ends.
// This will flush the remaining spans and shutdown the tracing pipeline.
tracerProvider.Dispose();
}
}

View File

@ -0,0 +1,67 @@
# Log Correlation
The getting started docs for [logs](../getting-started-console/README.md) and
[traces](../../trace/getting-started-console/README.md) showed how to emit logs
and traces independently, and export them to console exporter.
This doc explains how logs can be correlated to traces.
## Logging Data Model support for correlation
[Logging Data
Model](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#trace-context-fields)
defines fields which allow a log to be correlated with span (`Activity` in
.NET). The fields `TraceId` and `SpanId` allow a log to be correlated to
corresponding `Activity`.
## Correlation in OpenTelemetry .NET
The good news is that, in OpenTelemetry .NET SDK, there is no user action
required to enable correlation. i.e the SDK automatically enables logs to
`Activity` correlation, by populating the fields `TraceId`, `SpanId` and
`TraceFlags` from the active activity (i.e `Activity.Current`), if
any.
The example [Program.cs](./Program.cs) shows how to emit logs within the context
of an active `Activity`. Running the application will show the following output
on the console:
```text
LogRecord.Timestamp: 2024-01-26T17:55:39.2273475Z
LogRecord.TraceId: aed89c3b250fb9d8e16ccab1a4a9bbb5
LogRecord.SpanId: bd44308753200c58
LogRecord.TraceFlags: Recorded
LogRecord.CategoryName: Program
LogRecord.Severity: Info
LogRecord.SeverityText: Information
LogRecord.Body: Food `{name}` price changed to `{price}`.
LogRecord.Attributes (Key:Value):
name: artichoke
price: 9.99
OriginalFormat (a.k.a Body): Food `{name}` price changed to `{price}`.
LogRecord.EventId: 344095174
LogRecord.EventName: FoodPriceChanged
...
Activity.TraceId: aed89c3b250fb9d8e16ccab1a4a9bbb5
Activity.SpanId: bd44308753200c58
Activity.TraceFlags: Recorded
Activity.ActivitySourceName: MyCompany.MyProduct.MyLibrary
Activity.DisplayName: SayHello
Activity.Kind: Internal
Activity.StartTime: 2024-01-26T17:55:39.2223849Z
Activity.Duration: 00:00:00.0361682
...
```
As you can see, the `LogRecord` automatically had the `TraceId`, `SpanId` fields
matching the ones from the `Activity`. In [the logs getting
started](../getting-started-console/README.md) doc, the logging was done outside
of an `Activity` context, hence these fields in `LogRecord` were not populated.
## Learn more
Check [ASP.NET Core](../../../examples/AspNetCore/README.md) example application
which shows how all the logs done within the context of request are
automatically correlated to the `Activity` representing the incoming request.

View File

@ -1,6 +1,5 @@
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<ProjectReference Include="$(RepoRoot)\src\OpenTelemetry\OpenTelemetry.csproj" />
<ProjectReference Include="$(RepoRoot)\src\OpenTelemetry.Exporter.Console\OpenTelemetry.Exporter.Console.csproj" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,56 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
using Microsoft.Extensions.Logging;
using OpenTelemetry.Logs;
using OpenTelemetry.Resources;
var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddOpenTelemetry(logging =>
{
logging.IncludeScopes = true;
logging.SetResourceBuilder(ResourceBuilder.CreateDefault().AddService(
serviceName: "MyService",
serviceVersion: "1.0.0"));
logging.AddConsoleExporter();
});
});
var logger = loggerFactory.CreateLogger<Program>();
logger.FoodPriceChanged("artichoke", 9.99);
using (logger.BeginScope(new List<KeyValuePair<string, object>>
{
new KeyValuePair<string, object>("store", "Seattle"),
}))
{
logger.FoodPriceChanged("truffle", 999.99);
}
logger.FoodRecallNotice(
brandName: "Contoso",
productDescription: "Salads",
productType: "Food & Beverages",
recallReasonDescription: "due to a possible health risk from Listeria monocytogenes",
companyName: "Contoso Fresh Vegetables, Inc.");
// Dispose logger factory before the application ends.
// This will flush the remaining logs and shutdown the logging pipeline.
loggerFactory.Dispose();
internal static partial class LoggerExtensions
{
[LoggerMessage(LogLevel.Information, "Food `{name}` price changed to `{price}`.")]
public static partial void FoodPriceChanged(this ILogger logger, string name, double price);
[LoggerMessage(LogLevel.Critical, "A `{productType}` recall notice was published for `{brandName} {productDescription}` produced by `{companyName}` ({recallReasonDescription}).")]
public static partial void FoodRecallNotice(
this ILogger logger,
string brandName,
string productDescription,
string productType,
string recallReasonDescription,
string companyName);
}

View File

@ -0,0 +1,126 @@
# Customizing OpenTelemetry .NET SDK for Logs
## OpenTelemetryLoggerProvider
TODO
## Building the OpenTelemetryLoggerProvider
TODO
## OpenTelemetryLoggerProvider configuration
TODO
### IncludeScopes
Log
[scope](https://docs.microsoft.com/dotnet/core/extensions/logging#log-scopes) is
an `ILogger` concept that can group a set of logical operations and attach data
to each log created as part of a set.
`IncludeScopes` is off by default. Setting this to `true` will include all
scopes with the exported `LogRecord`. Consult the individual `Exporter`
docs to learn more about how scopes will be processed.
See [Program.cs](Program.cs) for an example.
> [!NOTE]
> When using [`ILogger.BeginScope<TState>(TState
state)`](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger.beginscope),
it is highly recommended to use `IReadOnlyList<KeyValue<string, object?>>` or
`List<KeyValuePair<string, object?>>` as the `TState` for the best performance.
When performance is not a critical requirement,
`IEnumerable<KeyValuePair<string, object?>>` can be used.
### IncludeFormattedMessage
`IncludeFormattedMessage` indicates if the `LogRecord.FormattedMessage` will be
set by invoking the formatter from [ILogger.Log](https://docs.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger.log).
`IncludeFormattedMessage` is `false` by default.
### ParseStateValues
TODO
### AddProcessor
[Processors](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/sdk.md#logrecordprocessor)
must be added using `OpenTelemetryLoggerOptions.AddProcessor()`.
It is not supported to add Processors after building the `LoggerFactory`.
```csharp
var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddOpenTelemetry(logging =>
{
logging.AddProcessor(...);
});
});
```
For more information on Processors, please review [Extending the SDK](../extending-the-sdk/README.md#processor)
### SetResourceBuilder
[Resource](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/sdk.md)
is the immutable representation of the entity producing the telemetry.
If no `Resource` is explicitly configured, the
[default](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#semantic-attributes-with-sdk-provided-default-value)
is to use a resource indicating this
[Service](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#service)
and [Telemetry
SDK](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#telemetry-sdk).
The `SetResourceBuilder` method on `OpenTelemetryLoggerOptions` can be used to
set a single `ResourceBuilder`. If `SetResourceBuilder` is called multiple
times, only the last is kept. It is not possible to change the resource builder
*after* creating the `LoggerFactory`.
The snippet below shows configuring a custom `ResourceBuilder` to the provider.
```csharp
var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddOpenTelemetry(logging =>
{
logging.SetResourceBuilder(ResourceBuilder.CreateDefault().AddService(
serviceName: "MyService",
serviceVersion: "1.0.0"));
});
});
```
See [Program.cs](Program.cs) for complete example.
It is also possible to configure the `Resource` by using following
environmental variables:
| Environment variable | Description |
| -------------------------- | -------------------------------------------------- |
| `OTEL_RESOURCE_ATTRIBUTES` | Key-value pairs to be used as resource attributes. See the [Resource SDK specification](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.5.0/specification/resource/sdk.md#specifying-resource-information-via-an-environment-variable) for more details. |
| `OTEL_SERVICE_NAME` | Sets the value of the `service.name` resource attribute. If `service.name` is also provided in `OTEL_RESOURCE_ATTRIBUTES`, then `OTEL_SERVICE_NAME` takes precedence. |
## Log Filtering
[`ILogger`](https://docs.microsoft.com/dotnet/core/extensions/logging)
implementations have a built-in mechanism to apply [log
filtering](https://docs.microsoft.com/dotnet/core/extensions/logging?tabs=command-line#how-filtering-rules-are-applied).
This filtering lets you control the logs that are sent to each registered
provider, including the `OpenTelemetryLoggerProvider`. "OpenTelemetry" is the
[alias](https://docs.microsoft.com/dotnet/api/microsoft.extensions.logging.provideraliasattribute)
for `OpenTelemetryLoggerProvider`, that may be used in configuring filtering
rules.
The example below defines "Error" as the default `LogLevel`
and also defines "Warning" as the minimum `LogLevel` for a user defined category.
These rules as defined only apply to the `OpenTelemetryLoggerProvider`.
```csharp
builder.AddFilter<OpenTelemetryLoggerProvider>("*", LogLevel.Error);
builder.AddFilter<OpenTelemetryLoggerProvider>("MyProduct.MyLibrary.MyClass", LogLevel.Warning);
```
## Learn more
* See also the official guide for
[Logging in .NET](https://docs.microsoft.com/dotnet/core/extensions/logging).

View File

@ -1,6 +1,5 @@
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<ProjectReference Include="$(RepoRoot)\src\OpenTelemetry\OpenTelemetry.csproj" />
<ProjectReference Include="$(RepoRoot)\src\OpenTelemetry.Exporter.Console\OpenTelemetry.Exporter.Console.csproj" />
</ItemGroup>
</Project>

Some files were not shown because too many files have changed in this diff Show More