Browse Source

Add Zipkin export

pull/1638/head
Alan West 3 years ago
parent
commit
1be1c395c5
No known key found for this signature in database GPG Key ID: 10C64B6E349D00BC
5 changed files with 38 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. +22
    -0
      src/docker-compose.opentelemetry.zipkin.yml

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

@ -46,6 +46,7 @@
<PackageReference Include="OpenTelemetry" Version="1.0.1" /> <PackageReference Include="OpenTelemetry" Version="1.0.1" />
<PackageReference Include="OpenTelemetry.Exporter.Console" Version="1.0.1" /> <PackageReference Include="OpenTelemetry.Exporter.Console" Version="1.0.1" />
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" 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" /> <PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.0.0-rc2" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.0.0-rc2" /> <PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.0.0-rc2" />
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.0.0-rc2" /> <PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.0.0-rc2" />


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

@ -43,6 +43,13 @@ static class OpenTelemetryExtensions
options.Headers = headers; options.Headers = headers;
}); });
break; break;
case "zipkin":
tracerProviderBuilder.AddZipkinExporter(options =>
{
var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_ZIPKIN_ENDPOINT");
options.Endpoint = new Uri(endpoint);
});
break;
default: default:
tracerProviderBuilder.AddConsoleExporter(); tracerProviderBuilder.AddConsoleExporter();
break; break;


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

@ -39,6 +39,13 @@ static class OpenTelemetryExtensions
options.Headers = headers; options.Headers = headers;
}); });
break; break;
case "zipkin":
tracerProviderBuilder.AddZipkinExporter(options =>
{
var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_ZIPKIN_ENDPOINT");
options.Endpoint = new Uri(endpoint);
});
break;
default: default:
tracerProviderBuilder.AddConsoleExporter(); tracerProviderBuilder.AddConsoleExporter();
break; break;


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

@ -48,6 +48,7 @@
<PackageReference Include="OpenTelemetry" Version="1.0.1" /> <PackageReference Include="OpenTelemetry" Version="1.0.1" />
<PackageReference Include="OpenTelemetry.Exporter.Console" Version="1.0.1" /> <PackageReference Include="OpenTelemetry.Exporter.Console" Version="1.0.1" />
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" 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" /> <PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.0.0-rc2" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.0.0-rc2" /> <PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.0.0-rc2" />
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.0.0-rc2" /> <PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.0.0-rc2" />


+ 22
- 0
src/docker-compose.opentelemetry.zipkin.yml View File

@ -0,0 +1,22 @@
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:
zipkin:
image: openzipkin/zipkin:latest
ports:
- "9411:9411"
basket-api:
environment:
- OTEL_USE_EXPORTER=zipkin
- OTEL_EXPORTER_ZIPKIN_ENDPOINT=${OTEL_EXPORTER_ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}
webmvc:
environment:
- OTEL_USE_EXPORTER=zipkin
- OTEL_EXPORTER_ZIPKIN_ENDPOINT=${OTEL_EXPORTER_ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}

Loading…
Cancel
Save