Browse Source

Add Jaeger export

pull/1638/head
Alan West 3 years ago
parent
commit
3824354a6a
No known key found for this signature in database GPG Key ID: 10C64B6E349D00BC
5 changed files with 45 additions and 0 deletions
  1. +1
    -0
      src/Services/Basket/Basket.API/Basket.API.csproj
  2. +7
    -0
      src/Services/Basket/Basket.API/OpenTelemetry.cs
  3. +7
    -0
      src/Web/WebMVC/OpenTelemetry.cs
  4. +1
    -0
      src/Web/WebMVC/WebMVC.csproj
  5. +29
    -0
      src/docker-compose.opentelemetry.jaeger.yml

+ 1
- 0
src/Services/Basket/Basket.API/Basket.API.csproj View File

@ -45,6 +45,7 @@
<ItemGroup>
<PackageReference Include="OpenTelemetry" Version="1.0.1" />
<PackageReference Include="OpenTelemetry.Exporter.Console" Version="1.0.1" />
<PackageReference Include="OpenTelemetry.Exporter.Jaeger" Version="1.0.1" />
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.0.1" />
<PackageReference Include="OpenTelemetry.Exporter.Zipkin" Version="1.0.1" />
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.0.0-rc2" />


+ 7
- 0
src/Services/Basket/Basket.API/OpenTelemetry.cs View File

@ -31,6 +31,13 @@ static class OpenTelemetryExtensions
// Configure exporter
switch (exportType)
{
case "jaeger":
tracerProviderBuilder.AddJaegerExporter(options =>
{
var agentHost = Environment.GetEnvironmentVariable("OTEL_EXPORTER_JAEGER_AGENTHOST");
options.AgentHost = agentHost;
});
break;
case "otlp":
tracerProviderBuilder.AddOtlpExporter(options =>
{


+ 7
- 0
src/Web/WebMVC/OpenTelemetry.cs View File

@ -27,6 +27,13 @@ static class OpenTelemetryExtensions
// Configure exporter
switch (exportType)
{
case "jaeger":
tracerProviderBuilder.AddJaegerExporter(options =>
{
var agentHost = Environment.GetEnvironmentVariable("OTEL_EXPORTER_JAEGER_AGENTHOST");
options.AgentHost = agentHost;
});
break;
case "otlp":
tracerProviderBuilder.AddOtlpExporter(options =>
{


+ 1
- 0
src/Web/WebMVC/WebMVC.csproj View File

@ -47,6 +47,7 @@
<ItemGroup>
<PackageReference Include="OpenTelemetry" Version="1.0.1" />
<PackageReference Include="OpenTelemetry.Exporter.Console" Version="1.0.1" />
<PackageReference Include="OpenTelemetry.Exporter.Jaeger" Version="1.0.1" />
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.0.1" />
<PackageReference Include="OpenTelemetry.Exporter.Zipkin" Version="1.0.1" />
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.0.0-rc2" />


+ 29
- 0
src/docker-compose.opentelemetry.jaeger.yml View File

@ -0,0 +1,29 @@
version: '3.4'
# The OpenTelemetry docker-compose file is used to configure OpenTelemetry for the services
#
# You need to start it with the following CLI command:
# docker-compose -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.opentelemetry.zipkin.yml up
services:
jaeger-all-in-one:
image: jaegertracing/all-in-one:latest
ports:
- "5775:5775/udp"
- "6831:6831/udp"
- "6832:6832/udp"
- "5778:5778"
- "16686:16686"
- "14268:14268"
- "14250:14250"
- "9411:9411"
basket-api:
environment:
- OTEL_USE_EXPORTER=jaeger
- OTEL_EXPORTER_JAEGER_AGENTHOST=${OTEL_EXPORTER_JAEGER_AGENTHOST:-jaeger-all-in-one}
webmvc:
environment:
- OTEL_USE_EXPORTER=jaeger
- OTEL_EXPORTER_JAEGER_AGENTHOST=${OTEL_EXPORTER_JAEGER_AGENTHOST:-jaeger-all-in-one}

Loading…
Cancel
Save