11using Genocs . Core . Builders ;
2- using Genocs . Tracing . Jaeger . Builders ;
32using Genocs . Tracing . Jaeger . Options ;
43using Genocs . Tracing . Jaeger . Tracers ;
54using Jaeger ;
1110using Microsoft . Extensions . DependencyInjection ;
1211using Microsoft . Extensions . Logging ;
1312using OpenTracing ;
14- using OpenTracing . Contrib . NetCore . Configuration ;
1513using OpenTracing . Util ;
1614
1715namespace Genocs . Tracing . Jaeger ;
@@ -23,39 +21,28 @@ namespace Genocs.Tracing.Jaeger;
2321public static class Extensions
2422{
2523 private static int _initialized ;
26- private const string SectionName = "jaeger" ;
2724 private const string RegistryName = "tracing.jaeger" ;
2825
29- public static IGenocsBuilder AddJaeger ( this IGenocsBuilder builder , string sectionName = SectionName ,
30- Action < IOpenTracingBuilder > ? openTracingBuilder = null )
31- {
32- if ( string . IsNullOrWhiteSpace ( sectionName ) )
33- {
34- sectionName = SectionName ;
35- }
36-
37- var options = builder . GetOptions < JaegerSettings > ( sectionName ) ;
38- return builder . AddJaeger ( options , sectionName , openTracingBuilder ) ;
39- }
40-
41- public static IGenocsBuilder AddJaeger ( this IGenocsBuilder builder ,
42- Func < IJaegerOptionsBuilder , IJaegerOptionsBuilder > buildOptions ,
43- string sectionName = SectionName ,
44- Action < IOpenTracingBuilder > openTracingBuilder = null )
45- {
46- var options = buildOptions ( new JaegerOptionsBuilder ( ) ) . Build ( ) ;
47- return builder . AddJaeger ( options , sectionName , openTracingBuilder ) ;
48- }
4926
50- public static IGenocsBuilder AddJaeger ( this IGenocsBuilder builder , JaegerSettings options ,
51- string sectionName = SectionName , Action < IOpenTracingBuilder > ? openTracingBuilder = null )
27+ /// <summary>
28+ /// Add Jaeger Tracer
29+ /// </summary>
30+ /// <param name="builder"></param>
31+ /// <param name="sectionName"></param>
32+ /// <returns></returns>
33+ /// <exception cref="Exception"></exception>
34+ public static IGenocsBuilder AddJaeger ( this IGenocsBuilder builder , string sectionName = JaegerSettings . Position )
5235 {
5336 if ( Interlocked . Exchange ( ref _initialized , 1 ) == 1 )
5437 {
5538 return builder ;
5639 }
5740
41+
42+ var options = builder . GetOptions < JaegerSettings > ( sectionName ) ;
43+
5844 builder . Services . AddSingleton ( options ) ;
45+
5946 if ( ! options . Enabled )
6047 {
6148 var defaultTracer = GenocsDefaultTracer . Create ( ) ;
@@ -68,18 +55,6 @@ public static IGenocsBuilder AddJaeger(this IGenocsBuilder builder, JaegerSettin
6855 return builder ;
6956 }
7057
71- if ( options . ExcludePaths is not null )
72- {
73- builder . Services . Configure < AspNetCoreDiagnosticOptions > ( o =>
74- {
75- foreach ( var path in options . ExcludePaths )
76- {
77- o . Hosting . IgnorePatterns . Add ( x => x . Request . Path == path ) ;
78- }
79- } ) ;
80- }
81-
82- builder . Services . AddOpenTracing ( x => openTracingBuilder ? . Invoke ( x ) ) ;
8358
8459 builder . Services . AddSingleton < ITracer > ( sp =>
8560 {
0 commit comments