add dotnet otel project

This commit is contained in:
Simon Larsen
2023-10-23 15:17:25 +01:00
parent 40ee5d775b
commit 3841b655e5
55 changed files with 2107 additions and 43 deletions

View File

@@ -7,4 +7,5 @@ export class MetricService extends AnalyticsDatabaseService<Metric> {
super({ modelType: Metric, database: clickhouseDatabase });
}
}
export default new MetricService();

View File

View File

@@ -0,0 +1,112 @@
using System.Diagnostics;
using System.Diagnostics.Metrics;
using OpenTelemetry.Logs;
using OpenTelemetry.Metrics;
using OpenTelemetry.Resources;
using OpenTelemetry.Trace;
var builder = WebApplication.CreateBuilder(args);
const string endpoint = "http://localhost:4317";
// Logging.
builder.Logging.ClearProviders();
builder.Logging.AddOpenTelemetry(logging =>
{
logging.IncludeScopes = true;
var resourceBuilder = ResourceBuilder
.CreateDefault()
.AddService(builder.Environment.ApplicationName);
logging.SetResourceBuilder(resourceBuilder)
// ConsoleExporter is used for demo purpose only.
// In production environment, ConsoleExporter should be replaced with other exporters (e.g. OTLP Exporter).
.AddConsoleExporter()
.AddOtlpExporter(opt =>
{
// If endpoint was not specified, the proper one will be selected according to the protocol.
if (!string.IsNullOrEmpty(endpoint))
{
opt.Endpoint = new Uri(endpoint);
}
System.Console.WriteLine($"OTLP Exporter is using {opt.Protocol} protocol and endpoint {opt.Endpoint}");
});
});
// Traces.
builder.Services.AddOpenTelemetry()
.ConfigureResource(resource => resource
.AddService(serviceName: builder.Environment.ApplicationName))
.WithTracing(tracing => tracing
.AddAspNetCoreInstrumentation()
.AddConsoleExporter()
.AddOtlpExporter(opt =>
{
// If endpoint was not specified, the proper one will be selected according to the protocol.
if (!string.IsNullOrEmpty(endpoint))
{
opt.Endpoint = new Uri(endpoint);
}
System.Console.WriteLine($"OTLP Exporter is using {opt.Protocol} protocol and endpoint {opt.Endpoint}");
}));
// Metrics.
builder.Services.AddOpenTelemetry()
.ConfigureResource(resource => resource
.AddService(serviceName: builder.Environment.ApplicationName))
.WithMetrics(metrics => metrics
.AddAspNetCoreInstrumentation()
.AddConsoleExporter((exporterOptions, metricReaderOptions) =>
{
metricReaderOptions.PeriodicExportingMetricReaderOptions.ExportIntervalMilliseconds = 1000;
})
.AddOtlpExporter(opt =>
{
// If endpoint was not specified, the proper one will be selected according to the protocol.
if (!string.IsNullOrEmpty(endpoint))
{
opt.Endpoint = new Uri(endpoint);
}
System.Console.WriteLine($"OTLP Exporter is using {opt.Protocol} protocol and endpoint {opt.Endpoint}");
}));
var app = builder.Build();
// Custom metrics for the application
var greeterMeter = new Meter("OtPrGrYa.Example", "1.0.0");
var countGreetings = greeterMeter.CreateCounter<int>("greetings.count", description: "Counts the number of greetings");
// Custom ActivitySource for the application
var greeterActivitySource = new ActivitySource("OtPrGrJa.Example");
async Task<String> SendGreeting(ILogger<Program> logger)
{
// Create a new Activity scoped to the method
using var activity = greeterActivitySource.StartActivity("GreeterActivity");
// Log a message
logger.LogInformation("Sending greeting");
// Increment the custom counter
countGreetings.Add(1);
// Add a tag to the Activity
activity?.SetTag("greeting", "Hello World!");
return $"Hello World! OpenTelemetry Trace: {Activity.Current?.Id}";
}
app.MapGet("/", SendGreeting);
app.Run();

View File

@@ -0,0 +1,28 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:37987",
"sslPort": 44393
}
},
"profiles": {
"otel_dotnet": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7152;http://localhost:5219",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

View File

@@ -0,0 +1,9 @@
# Open Telemetry .NET Example
### Run the project.
Please use
```bash
dotnet run
```

View File

@@ -0,0 +1,8 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View File

@@ -0,0 +1,9 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,8 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View File

@@ -0,0 +1,9 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

Binary file not shown.

View File

@@ -0,0 +1,437 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"otel-dotnet/1.0.0": {
"dependencies": {
"OpenTelemetry.Exporter.Console": "1.6.0",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "1.6.0",
"OpenTelemetry.Extensions.Hosting": "1.6.0",
"OpenTelemetry.Instrumentation.AspNetCore": "1.5.1-beta.1"
},
"runtime": {
"otel-dotnet.dll": {}
}
},
"Google.Protobuf/3.19.4": {
"runtime": {
"lib/net5.0/Google.Protobuf.dll": {
"assemblyVersion": "3.19.4.0",
"fileVersion": "3.19.4.0"
}
}
},
"Grpc.Core.Api/2.52.0": {
"dependencies": {
"System.Memory": "4.5.3"
},
"runtime": {
"lib/netstandard2.1/Grpc.Core.Api.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.52.0.0"
}
}
},
"Grpc.Net.Client/2.52.0": {
"dependencies": {
"Grpc.Net.Common": "2.52.0",
"Microsoft.Extensions.Logging.Abstractions": "3.1.0"
},
"runtime": {
"lib/net6.0/Grpc.Net.Client.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.52.0.0"
}
}
},
"Grpc.Net.Common/2.52.0": {
"dependencies": {
"Grpc.Core.Api": "2.52.0"
},
"runtime": {
"lib/net6.0/Grpc.Net.Common.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.52.0.0"
}
}
},
"Microsoft.Extensions.Configuration/3.1.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "3.1.0"
}
},
"Microsoft.Extensions.Configuration.Abstractions/3.1.0": {
"dependencies": {
"Microsoft.Extensions.Primitives": "3.1.0"
}
},
"Microsoft.Extensions.Configuration.Binder/3.1.0": {
"dependencies": {
"Microsoft.Extensions.Configuration": "3.1.0"
}
},
"Microsoft.Extensions.DependencyInjection/3.1.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "3.1.0"
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/3.1.0": {},
"Microsoft.Extensions.FileProviders.Abstractions/2.1.0": {
"dependencies": {
"Microsoft.Extensions.Primitives": "3.1.0"
}
},
"Microsoft.Extensions.Hosting.Abstractions/2.1.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "3.1.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "3.1.0",
"Microsoft.Extensions.FileProviders.Abstractions": "2.1.0",
"Microsoft.Extensions.Logging.Abstractions": "3.1.0"
}
},
"Microsoft.Extensions.Logging/3.1.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Binder": "3.1.0",
"Microsoft.Extensions.DependencyInjection": "3.1.0",
"Microsoft.Extensions.Logging.Abstractions": "3.1.0",
"Microsoft.Extensions.Options": "3.1.0"
}
},
"Microsoft.Extensions.Logging.Abstractions/3.1.0": {},
"Microsoft.Extensions.Logging.Configuration/3.1.0": {
"dependencies": {
"Microsoft.Extensions.Logging": "3.1.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "3.1.0"
}
},
"Microsoft.Extensions.Options/3.1.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "3.1.0",
"Microsoft.Extensions.Primitives": "3.1.0"
}
},
"Microsoft.Extensions.Options.ConfigurationExtensions/3.1.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "3.1.0",
"Microsoft.Extensions.Configuration.Binder": "3.1.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "3.1.0",
"Microsoft.Extensions.Options": "3.1.0"
}
},
"Microsoft.Extensions.Primitives/3.1.0": {},
"OpenTelemetry/1.6.0": {
"dependencies": {
"Microsoft.Extensions.Logging.Configuration": "3.1.0",
"OpenTelemetry.Api.ProviderBuilderExtensions": "1.6.0"
},
"runtime": {
"lib/net6.0/OpenTelemetry.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.6.0.1006"
}
}
},
"OpenTelemetry.Api/1.6.0": {
"dependencies": {
"System.Diagnostics.DiagnosticSource": "7.0.2"
},
"runtime": {
"lib/net6.0/OpenTelemetry.Api.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.6.0.1006"
}
}
},
"OpenTelemetry.Api.ProviderBuilderExtensions/1.6.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "3.1.0",
"OpenTelemetry.Api": "1.6.0"
},
"runtime": {
"lib/net6.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.6.0.1006"
}
}
},
"OpenTelemetry.Exporter.Console/1.6.0": {
"dependencies": {
"OpenTelemetry": "1.6.0",
"System.Text.Encodings.Web": "4.7.2",
"System.Text.Json": "4.7.2"
},
"runtime": {
"lib/net6.0/OpenTelemetry.Exporter.Console.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.6.0.1006"
}
}
},
"OpenTelemetry.Exporter.OpenTelemetryProtocol/1.6.0": {
"dependencies": {
"Google.Protobuf": "3.19.4",
"Grpc.Net.Client": "2.52.0",
"OpenTelemetry": "1.6.0"
},
"runtime": {
"lib/net6.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.6.0.1006"
}
}
},
"OpenTelemetry.Extensions.Hosting/1.6.0": {
"dependencies": {
"Microsoft.Extensions.Hosting.Abstractions": "2.1.0",
"OpenTelemetry": "1.6.0"
},
"runtime": {
"lib/net6.0/OpenTelemetry.Extensions.Hosting.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.6.0.1006"
}
}
},
"OpenTelemetry.Instrumentation.AspNetCore/1.5.1-beta.1": {
"dependencies": {
"OpenTelemetry": "1.6.0"
},
"runtime": {
"lib/net6.0/OpenTelemetry.Instrumentation.AspNetCore.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.5.1.957"
}
}
},
"System.Diagnostics.DiagnosticSource/7.0.2": {
"dependencies": {
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
},
"runtime": {
"lib/net6.0/System.Diagnostics.DiagnosticSource.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.423.11508"
}
}
},
"System.Memory/4.5.3": {},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {},
"System.Text.Encodings.Web/4.7.2": {},
"System.Text.Json/4.7.2": {}
}
},
"libraries": {
"otel-dotnet/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Google.Protobuf/3.19.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-fd07/ykL4O4FhqrZIELm5lmiyOHfdPg9+o+hWr6tcfRdS7tHXnImg/2wtogLzlW2eEmr0J7j6ZrZvaWOLiJbxQ==",
"path": "google.protobuf/3.19.4",
"hashPath": "google.protobuf.3.19.4.nupkg.sha512"
},
"Grpc.Core.Api/2.52.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-SQiPyBczG4vKPmI6Fd+O58GcxxDSFr6nfRAJuBDUNj+PgdokhjWJvZE/La1c09AkL2FVm/jrDloG89nkzmVF7A==",
"path": "grpc.core.api/2.52.0",
"hashPath": "grpc.core.api.2.52.0.nupkg.sha512"
},
"Grpc.Net.Client/2.52.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-hWVH9g/Nnjz40ni//2S8UIOyEmhueQREoZIkD0zKHEPqLxXcNlbp4eebXIOicZtkwDSx0TFz9NpkbecEDn6rBw==",
"path": "grpc.net.client/2.52.0",
"hashPath": "grpc.net.client.2.52.0.nupkg.sha512"
},
"Grpc.Net.Common/2.52.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-di9qzpdx525IxumZdYmu6sG2y/gXJyYeZ1ruFUzB9BJ1nj4kU1/dTAioNCMt1VLRvNVDqh8S8B1oBdKhHJ4xRg==",
"path": "grpc.net.common/2.52.0",
"hashPath": "grpc.net.common.2.52.0.nupkg.sha512"
},
"Microsoft.Extensions.Configuration/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Lu41BWNmwhKr6LgyQvcYBOge0pPvmiaK8R5UHXX4//wBhonJyWcT2OK1mqYfEM5G7pTf31fPrpIHOT6sN7EGOA==",
"path": "microsoft.extensions.configuration/3.1.0",
"hashPath": "microsoft.extensions.configuration.3.1.0.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ESz6bVoDQX7sgWdKHF6G9Pq672T8k+19AFb/txDXwdz7MoqaNQj2/in3agm/3qae9V+WvQZH86LLTNVo0it8vQ==",
"path": "microsoft.extensions.configuration.abstractions/3.1.0",
"hashPath": "microsoft.extensions.configuration.abstractions.3.1.0.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Binder/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-o9eELDBfNkR7sUtYysFZ1Q7BQ1mYt27DMkups/3vu7xgPyOpMD+iAfrBZFzUXT2iw0fmFb8s1gfNBZS+IgjKdQ==",
"path": "microsoft.extensions.configuration.binder/3.1.0",
"hashPath": "microsoft.extensions.configuration.binder.3.1.0.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-KVkv3aF2MQpmGFRh4xRx2CNbc2sjDFk+lH4ySrjWSOS+XoY1Xc+sJphw3N0iYOpoeCCq8976ceVYDH8sdx2qIQ==",
"path": "microsoft.extensions.dependencyinjection/3.1.0",
"hashPath": "microsoft.extensions.dependencyinjection.3.1.0.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-44rDtOf1JXXAFpNT2EXMExaDm/4OJ2RXOL9i9lE4bK427nzC7Exphv+beB6IgluyE2GIoo8zezTStMXI7MQ8WA==",
"path": "microsoft.extensions.dependencyinjection.abstractions/3.1.0",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.3.1.0.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/2.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-itv+7XBu58pxi8mykxx9cUO1OOVYe0jmQIZVSZVp5lOcLxB7sSV2bnHiI1RSu6Nxne/s6+oBla3ON5CCMSmwhQ==",
"path": "microsoft.extensions.fileproviders.abstractions/2.1.0",
"hashPath": "microsoft.extensions.fileproviders.abstractions.2.1.0.nupkg.sha512"
},
"Microsoft.Extensions.Hosting.Abstractions/2.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-BpMaoBxdXr5VD0yk7rYN6R8lAU9X9JbvsPveNdKT+llIn3J5s4sxpWqaSG/NnzTzTLU5eJE5nrecTl7clg/7dQ==",
"path": "microsoft.extensions.hosting.abstractions/2.1.0",
"hashPath": "microsoft.extensions.hosting.abstractions.2.1.0.nupkg.sha512"
},
"Microsoft.Extensions.Logging/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-P+8sKQ8L4ooL79sxxqwFPxGGC3aBrUDLB/dZqhs4J0XjTyrkeeyJQ4D4nzJB6OnAhy78HIIgQ/RbD6upOXLynw==",
"path": "microsoft.extensions.logging/3.1.0",
"hashPath": "microsoft.extensions.logging.3.1.0.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-jjo4YXRx6MIpv6DiRxJjSpl+sPP0+5VW0clMEdLyIAz44PPwrDTFrd5PZckIxIXl1kKZ2KK6IL2nkt0+ug2MQg==",
"path": "microsoft.extensions.logging.abstractions/3.1.0",
"hashPath": "microsoft.extensions.logging.abstractions.3.1.0.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Configuration/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-yW3nIoNM3T5iZg8bRViiCN4+vIU/02l+mlWSvKqWnr0Fd5Uk1zKdT9jBWKEcJhRIWKVWWSpFWXnM5yWoIAy1Eg==",
"path": "microsoft.extensions.logging.configuration/3.1.0",
"hashPath": "microsoft.extensions.logging.configuration.3.1.0.nupkg.sha512"
},
"Microsoft.Extensions.Options/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-9b6JHY7TAXrSfZ6EEGf+j8XnqKIiMPErfmaNXhJYSCb+BUW2H4RtzkNJvwLJzwgzqBP0wtTjyA6Uw4BPPdmkMw==",
"path": "microsoft.extensions.options/3.1.0",
"hashPath": "microsoft.extensions.options.3.1.0.nupkg.sha512"
},
"Microsoft.Extensions.Options.ConfigurationExtensions/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-tx6gMKE3rDspA1YZT8SlQJmyt1BaBSl6mNjB3g0ZO6m3NnoavCifXkGeBuDk9Ae4XjW8C+dty52p+0u38jPRIQ==",
"path": "microsoft.extensions.options.configurationextensions/3.1.0",
"hashPath": "microsoft.extensions.options.configurationextensions.3.1.0.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-LEKAnX7lhUhSoIc2XraCTK3M4IU/LdVUzCe464Sa4+7F4ZJuXHHRzZli2mDbiT4xzAZhgqXbvfnb5+CNDcQFfg==",
"path": "microsoft.extensions.primitives/3.1.0",
"hashPath": "microsoft.extensions.primitives.3.1.0.nupkg.sha512"
},
"OpenTelemetry/1.6.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bTvLk9YIg0nUDb6K+f8mJkMK8b7sfGEyD0Zmg6ckD7kDCkBq1Hk1KjqlA/jEsypJIVnyclP0CGDcOELGYXGpAA==",
"path": "opentelemetry/1.6.0",
"hashPath": "opentelemetry.1.6.0.nupkg.sha512"
},
"OpenTelemetry.Api/1.6.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-LTF4PB6UicJlgrBBg0rblAMyJJLMAVBujg8T9pGPQsl1vVgPNZoJNTLadhC3ZdYUzuKsvYLS31vT0/wl97JtEw==",
"path": "opentelemetry.api/1.6.0",
"hashPath": "opentelemetry.api.1.6.0.nupkg.sha512"
},
"OpenTelemetry.Api.ProviderBuilderExtensions/1.6.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-k8lqUAxjXkCV6yKdXfCbxsHMh5x7F7q8lAKm61rP/iP3EJPG1XhOy3j9nyubBYCm/xqlIy4ugWcqY1Inxolozw==",
"path": "opentelemetry.api.providerbuilderextensions/1.6.0",
"hashPath": "opentelemetry.api.providerbuilderextensions.1.6.0.nupkg.sha512"
},
"OpenTelemetry.Exporter.Console/1.6.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-M7icDNHjLRllgi6n3xlFEkBSQaPNnG1cwKm74RNUNT56XTmggHACmuiOxpqBXPchjOQNwsUS7We9fEz3ul97zg==",
"path": "opentelemetry.exporter.console/1.6.0",
"hashPath": "opentelemetry.exporter.console.1.6.0.nupkg.sha512"
},
"OpenTelemetry.Exporter.OpenTelemetryProtocol/1.6.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Xfb4ouRSerQe8Kgg6JBHMaPnjD7cPzdPIk4df6JDLO8G/S0K7uTMngw5qbVm88cqGs0p+YcQTg6FvXMQ6kL/dw==",
"path": "opentelemetry.exporter.opentelemetryprotocol/1.6.0",
"hashPath": "opentelemetry.exporter.opentelemetryprotocol.1.6.0.nupkg.sha512"
},
"OpenTelemetry.Extensions.Hosting/1.6.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Bu9biIlX1mLOtHiXYJ+IJJ2AfuiXcUjswxo5FD+pV+V+miRS0AtJrnZoWzlL2ATVY0QlVbSBJFDULPbgb0vylw==",
"path": "opentelemetry.extensions.hosting/1.6.0",
"hashPath": "opentelemetry.extensions.hosting.1.6.0.nupkg.sha512"
},
"OpenTelemetry.Instrumentation.AspNetCore/1.5.1-beta.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-szyjWK0GdA0hFfxjdBykYsgrXv6NVTu5HDxIgQOcZMqWu6hyikKDMcP+hYC3rD2mJbIdvjEdhEyZOb84sCevHA==",
"path": "opentelemetry.instrumentation.aspnetcore/1.5.1-beta.1",
"hashPath": "opentelemetry.instrumentation.aspnetcore.1.5.1-beta.1.nupkg.sha512"
},
"System.Diagnostics.DiagnosticSource/7.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-hYr3I9N9811e0Bjf2WNwAGGyTuAFbbTgX1RPLt/3Wbm68x3IGcX5Cl75CMmgT6WlNwLQ2tCCWfqYPpypjaf2xA==",
"path": "system.diagnostics.diagnosticsource/7.0.2",
"hashPath": "system.diagnostics.diagnosticsource.7.0.2.nupkg.sha512"
},
"System.Memory/4.5.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==",
"path": "system.memory/4.5.3",
"hashPath": "system.memory.4.5.3.nupkg.sha512"
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
"path": "system.runtime.compilerservices.unsafe/6.0.0",
"hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
},
"System.Text.Encodings.Web/4.7.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==",
"path": "system.text.encodings.web/4.7.2",
"hashPath": "system.text.encodings.web.4.7.2.nupkg.sha512"
},
"System.Text.Json/4.7.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==",
"path": "system.text.json/4.7.2",
"hashPath": "system.text.json.4.7.2.nupkg.sha512"
}
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,19 @@
{
"runtimeOptions": {
"tfm": "net6.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "6.0.0"
},
{
"name": "Microsoft.AspNetCore.App",
"version": "6.0.0"
}
],
"configProperties": {
"System.GC.Server": true,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

View File

@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")]

Binary file not shown.

View File

@@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("otel-dotnet")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("otel-dotnet")]
[assembly: System.Reflection.AssemblyTitleAttribute("otel-dotnet")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@@ -0,0 +1 @@
75e1e1485c35cb76ee9ee76450785e90d4c56c83

View File

@@ -0,0 +1,16 @@
is_global = true
build_property.TargetFramework = net6.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb = true
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = otel_dotnet
build_property.RootNamespace = otel_dotnet
build_property.ProjectDir = /Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/
build_property.RazorLangVersion = 6.0
build_property.SupportLocalizedComponentNames =
build_property.GenerateRazorMetadataSourceChecksumAttributes =
build_property.MSBuildProjectDirectory = /Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet
build_property._RazorSourceGeneratorDebug =

View File

@@ -0,0 +1,17 @@
// <auto-generated/>
global using global::Microsoft.AspNetCore.Builder;
global using global::Microsoft.AspNetCore.Hosting;
global using global::Microsoft.AspNetCore.Http;
global using global::Microsoft.AspNetCore.Routing;
global using global::Microsoft.Extensions.Configuration;
global using global::Microsoft.Extensions.DependencyInjection;
global using global::Microsoft.Extensions.Hosting;
global using global::Microsoft.Extensions.Logging;
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Net.Http.Json;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@@ -0,0 +1,16 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("OpenTelemetry.Instrumentation.AspNetCore")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@@ -0,0 +1 @@
02d49b3f532cf4a85b56dd95b3e5d85b0107dabb

View File

@@ -0,0 +1,35 @@
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/appsettings.Development.json
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/appsettings.json
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/otel-dotnet
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/otel-dotnet.deps.json
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/otel-dotnet.runtimeconfig.json
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/otel-dotnet.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/otel-dotnet.pdb
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/OpenTelemetry.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/OpenTelemetry.Api.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/OpenTelemetry.Exporter.Console.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/OpenTelemetry.Extensions.Hosting.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/OpenTelemetry.Instrumentation.AspNetCore.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/System.Diagnostics.DiagnosticSource.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.csproj.AssemblyReference.cache
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.GeneratedMSBuildEditorConfig.editorconfig
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.AssemblyInfoInputs.cache
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.AssemblyInfo.cs
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.csproj.CoreCompileInputs.cache
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.MvcApplicationPartsAssemblyInfo.cs
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.MvcApplicationPartsAssemblyInfo.cache
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/staticwebassets.build.json
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/staticwebassets.development.json
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/scopedcss/bundle/otel-dotnet.styles.css
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.csproj.CopyComplete
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/refint/otel-dotnet.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.pdb
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.genruntimeconfig.cache
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/ref/otel-dotnet.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/Google.Protobuf.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/Grpc.Core.Api.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/Grpc.Net.Client.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/Grpc.Net.Common.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll

Binary file not shown.

View File

@@ -0,0 +1 @@
cc5d2fd779d6a84d159195962a727e9d6011d4a2

Binary file not shown.

View File

@@ -0,0 +1,11 @@
{
"Version": 1,
"Hash": "m6XhWHM2rOSF31NUvI/QHIXrybom8NXOxJIFwUJzSPI=",
"Source": "otel-dotnet",
"BasePath": "_content/otel-dotnet",
"Mode": "Default",
"ManifestType": "Build",
"ReferencedProjectsConfiguration": [],
"DiscoveryPatterns": [],
"Assets": []
}

View File

@@ -0,0 +1,81 @@
{
"format": 1,
"restore": {
"/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/otel-dotnet.csproj": {}
},
"projects": {
"/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/otel-dotnet.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/otel-dotnet.csproj",
"projectName": "otel-dotnet",
"projectPath": "/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/otel-dotnet.csproj",
"packagesPath": "/Users/nawazdhandala/.nuget/packages/",
"outputPath": "/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/Users/nawazdhandala/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"dependencies": {
"OpenTelemetry.Exporter.Console": {
"target": "Package",
"version": "[1.6.0, )"
},
"OpenTelemetry.Exporter.OpenTelemetryProtocol": {
"target": "Package",
"version": "[1.6.0, )"
},
"OpenTelemetry.Extensions.Hosting": {
"target": "Package",
"version": "[1.6.0, )"
},
"OpenTelemetry.Instrumentation.AspNetCore": {
"target": "Package",
"version": "[1.5.1-beta.1, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.AspNetCore.App": {
"privateAssets": "none"
},
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/6.0.201/RuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/Users/nawazdhandala/.nuget/packages/</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/Users/nawazdhandala/.nuget/packages/</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.1.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="/Users/nawazdhandala/.nuget/packages/" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,38 @@
{
"version": 2,
"dgSpecHash": "q904JtYq1lLAiuvP7YZAtmR3LAs+M1o5PfyM0Qj3+rz7xX6AiTGIp6qCcuj7Ew3h5sJxnepofHEAg0S9PbQ4GA==",
"success": true,
"projectFilePath": "/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/otel-dotnet.csproj",
"expectedPackageFiles": [
"/Users/nawazdhandala/.nuget/packages/google.protobuf/3.19.4/google.protobuf.3.19.4.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/grpc.core.api/2.52.0/grpc.core.api.2.52.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/grpc.net.client/2.52.0/grpc.net.client.2.52.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/grpc.net.common/2.52.0/grpc.net.common.2.52.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.configuration/3.1.0/microsoft.extensions.configuration.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.configuration.abstractions/3.1.0/microsoft.extensions.configuration.abstractions.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.configuration.binder/3.1.0/microsoft.extensions.configuration.binder.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.dependencyinjection/3.1.0/microsoft.extensions.dependencyinjection.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/3.1.0/microsoft.extensions.dependencyinjection.abstractions.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.fileproviders.abstractions/2.1.0/microsoft.extensions.fileproviders.abstractions.2.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.hosting.abstractions/2.1.0/microsoft.extensions.hosting.abstractions.2.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.logging/3.1.0/microsoft.extensions.logging.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.logging.abstractions/3.1.0/microsoft.extensions.logging.abstractions.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.logging.configuration/3.1.0/microsoft.extensions.logging.configuration.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.options/3.1.0/microsoft.extensions.options.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.options.configurationextensions/3.1.0/microsoft.extensions.options.configurationextensions.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.primitives/3.1.0/microsoft.extensions.primitives.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/opentelemetry/1.6.0/opentelemetry.1.6.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/opentelemetry.api/1.6.0/opentelemetry.api.1.6.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/opentelemetry.api.providerbuilderextensions/1.6.0/opentelemetry.api.providerbuilderextensions.1.6.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/opentelemetry.exporter.console/1.6.0/opentelemetry.exporter.console.1.6.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/opentelemetry.exporter.opentelemetryprotocol/1.6.0/opentelemetry.exporter.opentelemetryprotocol.1.6.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/opentelemetry.extensions.hosting/1.6.0/opentelemetry.extensions.hosting.1.6.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/opentelemetry.instrumentation.aspnetcore/1.5.1-beta.1/opentelemetry.instrumentation.aspnetcore.1.5.1-beta.1.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/system.diagnostics.diagnosticsource/7.0.2/system.diagnostics.diagnosticsource.7.0.2.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/system.memory/4.5.3/system.memory.4.5.3.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/system.text.encodings.web/4.7.2/system.text.encodings.web.4.7.2.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/system.text.json/4.7.2/system.text.json.4.7.2.nupkg.sha512"
],
"logs": []
}

View File

@@ -0,0 +1,8 @@
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0

View File

@@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>otel_dotnet</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="OpenTelemetry.Exporter.Console" Version="1.6.0" />
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.6.0" />
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.6.0" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.5.1-beta.1" />
</ItemGroup>
</Project>

View File

@@ -9,9 +9,11 @@ import logger from 'CommonServer/Utils/Logger';
import protobuf from 'protobufjs';
import BadRequestException from 'Common/Types/Exception/BadRequestException';
import Span from 'Model/AnalyticsModels/Span';
import Log from 'Model/AnalyticsModels/Log';
import OneUptimeDate from 'Common/Types/Date';
import KeyValueNestedModel from 'Model/AnalyticsModels/NestedModels/KeyValueNestedModel';
import SpanService from 'CommonServer/Services/SpanService';
import LogService from 'CommonServer/Services/LogService';
import ObjectID from 'Common/Types/ObjectID';
import { JSONArray, JSONObject } from 'Common/Types/JSON';
// Load proto file for OTel
@@ -189,6 +191,94 @@ router.post(
logger.info(req.body);
const resourceLogs = req.body['resourceLogs'] as JSONArray;
const dbLogs: Array<Log> = [];
for (const resourceLog of resourceLogs) {
const scopeLogs = resourceLog['scopeLogs'] as JSONArray;
for (const scopeLog of scopeLogs) {
const logRecords = scopeLog['logRecords'] as JSONArray;
for (const log of logRecords) {
const dbLog = new Log();
/*
Example:
{
"timeUnixNano":"1698069643739368000",
"severityNumber":"SEVERITY_NUMBER_INFO",
"severityText":"Information",
"body":{
"stringValue":"Application is shutting down..."
},
"traceId":"",
"spanId":"",
"observedTimeUnixNano":"1698069643739368000"
}
*/
dbLog.projectId = ObjectID.getZeroObjectID();
dbLog.serviceId = ObjectID.getZeroObjectID();
dbLog.timeUnixNano = log['timeUnixNano'] as number;
dbLog.time = OneUptimeDate.fromUnixNano(log['timeUnixNano'] as number);
dbLog.severityNumber = log['severityNumber'] as string;
dbLog.severityText = log['severityText'] as string;
dbLog.body = log['body'] as string;
dbLog.traceId = log['traceId'] as string;
dbLog.spanId = log['spanId'] as string;
// We need to convert this to date.
const attributes: JSONArray = log[
'attributes'
] as JSONArray;
const dbattributes: Array<KeyValueNestedModel> = [];
for (const attribute of attributes) {
const dbattribute: KeyValueNestedModel =
new KeyValueNestedModel();
dbattribute.key = attribute['key'] as string;
const value: JSONObject = attribute[
'value'
] as JSONObject;
if (value['stringValue']) {
dbattribute.stringValue = value[
'stringValue'
] as string;
}
if (value['intValue']) {
dbattribute.numberValue = value[
'intValue'
] as number;
}
dbattributes.push(dbattribute);
}
dbLog.attributes = dbattributes;
dbLogs.push(dbLog);
}
}
}
await LogService.createMany({
items: dbLogs,
props: {
isRoot: true,
},
});
return Response.sendEmptyResponse(req, res);
} catch (err) {
return next(err);

View File

@@ -0,0 +1,60 @@
{
"resourceLogs":[
{
"resource":{
"attributes":[
{
"key":"service.name",
"value":{
"stringValue":"otel-dotnet"
}
},
{
"key":"service.instance.id",
"value":{
"stringValue":"933c049b-1f18-4dbf-bd4f-acd9cbc3a03e"
}
},
{
"key":"telemetry.sdk.name",
"value":{
"stringValue":"opentelemetry"
}
},
{
"key":"telemetry.sdk.language",
"value":{
"stringValue":"dotnet"
}
},
{
"key":"telemetry.sdk.version",
"value":{
"stringValue":"1.6.0"
}
}
]
},
"scopeLogs":[
{
"scope":{
},
"logRecords":[
{
"timeUnixNano":"1698069643739368000",
"severityNumber":"SEVERITY_NUMBER_INFO",
"severityText":"Information",
"body":{
"stringValue":"Application is shutting down..."
},
"traceId":"",
"spanId":"",
"observedTimeUnixNano":"1698069643739368000"
}
]
}
]
}
]
}

View File

@@ -50,22 +50,7 @@ export default class Log extends AnalyticsBaseModel {
type: TableColumnType.ObjectID,
}),
new AnalyticsTableColumn({
key: 'name',
title: 'Name',
description: 'Name',
required: true,
type: TableColumnType.Text,
}),
new AnalyticsTableColumn({
key: 'body',
title: 'Log Body',
description: 'Log Body',
required: true,
type: TableColumnType.Text,
}),
new AnalyticsTableColumn({
key: 'time',
title: 'Time',
@@ -74,6 +59,15 @@ export default class Log extends AnalyticsBaseModel {
type: TableColumnType.Date,
}),
new AnalyticsTableColumn({
key: 'timeUnixNano',
title: 'Time (in Unix Nano)',
description: 'When was the log created?',
required: true,
type: TableColumnType.Number,
}),
new AnalyticsTableColumn({
key: 'severityText',
title: 'Severity Text',
@@ -87,17 +81,10 @@ export default class Log extends AnalyticsBaseModel {
title: 'Severity Number',
description: 'Log Severity Number',
required: true,
type: TableColumnType.Number,
}),
new AnalyticsTableColumn({
key: 'flags',
title: 'Flags',
description: 'Log Flags',
required: true,
type: TableColumnType.Number,
type: TableColumnType.Text,
}),
new AnalyticsTableColumn({
key: 'attributes',
title: 'Attributes',
@@ -122,6 +109,14 @@ export default class Log extends AnalyticsBaseModel {
required: false,
type: TableColumnType.Text,
}),
new AnalyticsTableColumn({
key: 'body',
title: 'Log Body',
description: 'Body of the Log',
required: false,
type: TableColumnType.Text,
}),
],
primaryKeys: ['projectId', 'serviceId', 'time'],
});
@@ -147,14 +142,6 @@ export default class Log extends AnalyticsBaseModel {
return this.getColumnValue('name') as string | undefined;
}
public set name(v: string | undefined) {
this.setColumnValue('name', v);
}
public get body(): string | undefined {
return this.getColumnValue('body') as string | undefined;
}
public set body(v: string | undefined) {
this.setColumnValue('body', v);
}
@@ -167,6 +154,14 @@ export default class Log extends AnalyticsBaseModel {
this.setColumnValue('time', v);
}
public get timeUnixNano(): number | undefined {
return this.getColumnValue('timeUnixNano') as number | undefined;
}
public set timeUnixNano(v: number | undefined) {
this.setColumnValue('timeUnixNano', v);
}
public get severityText(): string | undefined {
return this.getColumnValue('severityText') as string | undefined;
}
@@ -175,21 +170,14 @@ export default class Log extends AnalyticsBaseModel {
this.setColumnValue('severityText', v);
}
public get severityNumber(): number | undefined {
return this.getColumnValue('severityNumber') as number | undefined;
public get severityNumber(): string | undefined {
return this.getColumnValue('severityNumber') as string | undefined;
}
public set severityNumber(v: number | undefined) {
public set severityNumber(v: string | undefined) {
this.setColumnValue('severityNumber', v);
}
public get flags(): number | undefined {
return this.getColumnValue('flags') as number | undefined;
}
public set flags(v: number | undefined) {
this.setColumnValue('flags', v);
}
public get attributes(): Array<KeyValueNestedModel> | undefined {
return this.getColumnValue('attributes') as