```var resourceBuilder = ResourceBuilder.CreateDef...
# general
p
Copy code
var resourceBuilder = ResourceBuilder.CreateDefault().AddService(".Net Log Service");
builder.Logging.AddOpenTelemetry(logging=>
            {
             logging.IncludeScopes = true;
             logging.SetResourceBuilder(resourceBuilder)
                         .AddOtlpExporter(options => {
                                  options.Endpoint = otlpEntpoint;
                                  options.Protocols = OtlpExportProtocols.Grpc;
                         });
            });

       builder.Services.AddOpenTelemetry()
            .ConfigureResource(resource =>
            {
                resource
                    .AddService(serviceName)
                    .AddAttributes(new[]
                    {
                        new KeyValuePair<string, object>("service.version",
                            Assembly.GetExecutingAssembly().GetName().Version!.ToString())
                    });
            })
            .WithTracing(tracing =>
                tracing
                    .AddAspNetCoreInstrumentation()
                    .AddGrpcClientInstrumentation()
                    .AddHttpClientInstrumentation()
                    .AddNpgsql()
                    .AddRedisInstrumentation()
                        // .AddConsoleExporter()
                        .AddOtlpExporter(options => {
                            options.Endpoint = otlpEndpoint;
                            options.Protocol = OpenTelemetry.Exporter.OtlpExportProtocol.Grpc;
                        })
            )
            .WithMetrics(metrics =>
                metrics
                    .AddAspNetCoreInstrumentation()
                    .AddHttpClientInstrumentation()
                    // Metrics provides by <http://ASP.NET|ASP.NET>
                    .AddMeter("Microsoft.AspNetCore.Hosting")
                    .AddMeter("Microsoft.AspNetCore.Server.Kestrel")
                    .AddMeter(ApplicationDiagnostics.Meter.Name)
                    .AddConsoleExporter()
                        .AddOtlpExporter(options => {
                            options.Endpoint = otlpEndpoint;
                            options.Protocol = OpenTelemetry.Exporter.OtlpExportProtocol.Grpc;
                        })
            );