diff --git a/.gitignore b/.gitignore
index 0ae5bd568..de1d66031 100644
--- a/.gitignore
+++ b/.gitignore
@@ -154,3 +154,8 @@ images/
# Local agent scratchpads (objective.json etc.) — not repo content
.blackboard/
+
+# Local tool downloads (weaver, semconv upstream clone)
+.tools/
+# Weaver output scratchpad
+eng/semconv/out/
diff --git a/core/specs/generated/semconv.g.tsp b/core/specs/generated/semconv.g.tsp
deleted file mode 100644
index 4eff35ae3..000000000
--- a/core/specs/generated/semconv.g.tsp
+++ /dev/null
@@ -1,6842 +0,0 @@
-//
-// Generated from @opentelemetry/semantic-conventions v1.40.0
-// Do not edit manually - run 'npm run generate:tsp' in SemconvGenerator
-//
-// Usage in your TypeSpec files:
-// import "./semconv.g.tsp";
-// using OTel.SemConv;
-//
-// model MySpan {
-// @encodedName("application/json", Keys.GenAi.providerName)
-// provider: GenAiProviderNameValue;
-// }
-
-import "@typespec/http";
-
-using TypeSpec.Http;
-
-namespace OTel.SemConv;
-
-// ============================================================================
-// Common OTel Scalars (for type-safe attribute values)
-// ============================================================================
-
-/** 128-bit trace identifier (32 hex chars) */
-@minLength(32) @maxLength(32)
-@pattern("^[a-f0-9]{32}$")
-scalar TraceId extends string;
-
-/** 64-bit span identifier (16 hex chars) */
-@minLength(16) @maxLength(16)
-@pattern("^[a-f0-9]{16}$")
-scalar SpanId extends string;
-
-/** Token count (always int64 per semconv) */
-scalar TokenCount extends int64;
-
-/** Duration in seconds (float64) */
-scalar DurationSeconds extends float64;
-
-/** Duration in nanoseconds (int64) */
-scalar DurationNanos extends int64;
-
-/** Port number */
-@minValue(1) @maxValue(65535)
-scalar Port extends int32;
-
-/** Byte count */
-@minValue(0)
-scalar ByteCount extends int64;
-
-// ============================================================================
-// Attribute Key Constants (use with @encodedName)
-// ============================================================================
-// Example: @encodedName("application/json", Keys.GenAi.providerName)
-// ============================================================================
-
-namespace Keys {
- /** artifact.* attribute keys */
- namespace Artifact {
- /** "artifact.attestation.filename" */
- alias attestationFilename = "artifact.attestation.filename";
- /** "artifact.attestation.hash" */
- alias attestationHash = "artifact.attestation.hash";
- /** "artifact.attestation.id" */
- alias attestationId = "artifact.attestation.id";
- /** "artifact.filename" */
- alias filename = "artifact.filename";
- /** "artifact.hash" */
- alias hash = "artifact.hash";
- /** "artifact.purl" */
- alias purl = "artifact.purl";
- /** "artifact.version" */
- alias version = "artifact.version";
- }
-
- /** aspnetcore.* attribute keys */
- namespace Aspnetcore {
- /** "aspnetcore.authentication.result" */
- alias authenticationResult = "aspnetcore.authentication.result";
- /** "aspnetcore.authentication.scheme" */
- alias authenticationScheme = "aspnetcore.authentication.scheme";
- /** "aspnetcore.authorization.policy" */
- alias authorizationPolicy = "aspnetcore.authorization.policy";
- /** "aspnetcore.authorization.result" */
- alias authorizationResult = "aspnetcore.authorization.result";
- /** "aspnetcore.diagnostics.exception.result" */
- alias diagnosticsExceptionResult = "aspnetcore.diagnostics.exception.result";
- /** "aspnetcore.diagnostics.handler.type" */
- alias diagnosticsHandlerType = "aspnetcore.diagnostics.handler.type";
- /** "aspnetcore.identity.error_code" */
- alias identityErrorCode = "aspnetcore.identity.error_code";
- /** "aspnetcore.identity.password_check_result" */
- alias identityPasswordCheckResult = "aspnetcore.identity.password_check_result";
- /** "aspnetcore.identity.result" */
- alias identityResult = "aspnetcore.identity.result";
- /** "aspnetcore.identity.sign_in.result" */
- alias identitySignInResult = "aspnetcore.identity.sign_in.result";
- /** "aspnetcore.identity.sign_in.type" */
- alias identitySignInType = "aspnetcore.identity.sign_in.type";
- /** "aspnetcore.identity.token_purpose" */
- alias identityTokenPurpose = "aspnetcore.identity.token_purpose";
- /** "aspnetcore.identity.token_verified" */
- alias identityTokenVerified = "aspnetcore.identity.token_verified";
- /** "aspnetcore.identity.user_type" */
- alias identityUserType = "aspnetcore.identity.user_type";
- /** "aspnetcore.identity.user.update_type" */
- alias identityUserUpdateType = "aspnetcore.identity.user.update_type";
- /** "aspnetcore.memory_pool.owner" */
- alias memoryPoolOwner = "aspnetcore.memory_pool.owner";
- /** "aspnetcore.rate_limiting.policy" */
- alias rateLimitingPolicy = "aspnetcore.rate_limiting.policy";
- /** "aspnetcore.rate_limiting.result" */
- alias rateLimitingResult = "aspnetcore.rate_limiting.result";
- /** "aspnetcore.request.is_unhandled" */
- alias requestIsUnhandled = "aspnetcore.request.is_unhandled";
- /** "aspnetcore.routing.is_fallback" */
- alias routingIsFallback = "aspnetcore.routing.is_fallback";
- /** "aspnetcore.routing.match_status" */
- alias routingMatchStatus = "aspnetcore.routing.match_status";
- /** "aspnetcore.sign_in.is_persistent" */
- alias signInIsPersistent = "aspnetcore.sign_in.is_persistent";
- /** "aspnetcore.user.is_authenticated" */
- alias userIsAuthenticated = "aspnetcore.user.is_authenticated";
- }
-
- /** azure.* attribute keys */
- namespace Azure {
- /** "azure.client.id" */
- alias clientId = "azure.client.id";
- /** "azure.cosmosdb.connection.mode" */
- alias cosmosdbConnectionMode = "azure.cosmosdb.connection.mode";
- /** "azure.cosmosdb.consistency.level" */
- alias cosmosdbConsistencyLevel = "azure.cosmosdb.consistency.level";
- /** "azure.cosmosdb.operation.contacted_regions" */
- alias cosmosdbOperationContactedRegions = "azure.cosmosdb.operation.contacted_regions";
- /** "azure.cosmosdb.operation.request_charge" */
- alias cosmosdbOperationRequestCharge = "azure.cosmosdb.operation.request_charge";
- /** "azure.cosmosdb.request.body.size" */
- alias cosmosdbRequestBodySize = "azure.cosmosdb.request.body.size";
- /** "azure.cosmosdb.response.sub_status_code" */
- alias cosmosdbResponseSubStatusCode = "azure.cosmosdb.response.sub_status_code";
- /** "azure.resource_provider.namespace" */
- alias resourceProviderNamespace = "azure.resource_provider.namespace";
- /** "azure.service.request.id" */
- alias serviceRequestId = "azure.service.request.id";
- }
-
- /** browser.* attribute keys */
- namespace Browser {
- /** "browser.brands" */
- alias brands = "browser.brands";
- /** "browser.language" */
- alias language = "browser.language";
- /** "browser.mobile" */
- alias mobile = "browser.mobile";
- /** "browser.platform" */
- alias platform = "browser.platform";
- }
-
- /** cicd.* attribute keys */
- namespace Cicd {
- /** "cicd.pipeline.action.name" */
- alias pipelineActionName = "cicd.pipeline.action.name";
- /** "cicd.pipeline.name" */
- alias pipelineName = "cicd.pipeline.name";
- /** "cicd.pipeline.result" */
- alias pipelineResult = "cicd.pipeline.result";
- /** "cicd.pipeline.run.id" */
- alias pipelineRunId = "cicd.pipeline.run.id";
- /** "cicd.pipeline.run.state" */
- alias pipelineRunState = "cicd.pipeline.run.state";
- /** "cicd.pipeline.run.url.full" */
- alias pipelineRunUrlFull = "cicd.pipeline.run.url.full";
- /** "cicd.pipeline.task.name" */
- alias pipelineTaskName = "cicd.pipeline.task.name";
- /** "cicd.pipeline.task.run.id" */
- alias pipelineTaskRunId = "cicd.pipeline.task.run.id";
- /** "cicd.pipeline.task.run.result" */
- alias pipelineTaskRunResult = "cicd.pipeline.task.run.result";
- /** "cicd.pipeline.task.run.url.full" */
- alias pipelineTaskRunUrlFull = "cicd.pipeline.task.run.url.full";
- /** "cicd.pipeline.task.type" */
- alias pipelineTaskType = "cicd.pipeline.task.type";
- /** "cicd.system.component" */
- alias systemComponent = "cicd.system.component";
- /** "cicd.worker.id" */
- alias workerId = "cicd.worker.id";
- /** "cicd.worker.name" */
- alias workerName = "cicd.worker.name";
- /** "cicd.worker.state" */
- alias workerState = "cicd.worker.state";
- /** "cicd.worker.url.full" */
- alias workerUrlFull = "cicd.worker.url.full";
- }
-
- /** client.* attribute keys */
- namespace Client {
- /** "client.address" */
- alias address = "client.address";
- /** "client.port" */
- alias port = "client.port";
- }
-
- /** cloud.* attribute keys */
- namespace Cloud {
- /** "cloud.account.id" */
- alias accountId = "cloud.account.id";
- /** "cloud.availability_zone" */
- alias availabilityZone = "cloud.availability_zone";
- /** "cloud.platform" */
- alias platform = "cloud.platform";
- /** "cloud.provider" */
- alias provider = "cloud.provider";
- /** "cloud.region" */
- alias region = "cloud.region";
- /** "cloud.resource_id" */
- alias resourceId = "cloud.resource_id";
- }
-
- /** cloudevents.* attribute keys */
- namespace Cloudevents {
- /** "cloudevents.event_id" */
- alias eventId = "cloudevents.event_id";
- /** "cloudevents.event_source" */
- alias eventSource = "cloudevents.event_source";
- /** "cloudevents.event_spec_version" */
- alias eventSpecVersion = "cloudevents.event_spec_version";
- /** "cloudevents.event_subject" */
- alias eventSubject = "cloudevents.event_subject";
- /** "cloudevents.event_type" */
- alias eventType = "cloudevents.event_type";
- }
-
- /** cloudfoundry.* attribute keys */
- namespace Cloudfoundry {
- /** "cloudfoundry.app.id" */
- alias appId = "cloudfoundry.app.id";
- /** "cloudfoundry.app.instance.id" */
- alias appInstanceId = "cloudfoundry.app.instance.id";
- /** "cloudfoundry.app.name" */
- alias appName = "cloudfoundry.app.name";
- /** "cloudfoundry.org.id" */
- alias orgId = "cloudfoundry.org.id";
- /** "cloudfoundry.org.name" */
- alias orgName = "cloudfoundry.org.name";
- /** "cloudfoundry.process.id" */
- alias processId = "cloudfoundry.process.id";
- /** "cloudfoundry.process.type" */
- alias processType = "cloudfoundry.process.type";
- /** "cloudfoundry.space.id" */
- alias spaceId = "cloudfoundry.space.id";
- /** "cloudfoundry.space.name" */
- alias spaceName = "cloudfoundry.space.name";
- /** "cloudfoundry.system.id" */
- alias systemId = "cloudfoundry.system.id";
- /** "cloudfoundry.system.instance.id" */
- alias systemInstanceId = "cloudfoundry.system.instance.id";
- }
-
- /** code.* attribute keys */
- namespace Code {
- /** "code.column" */
- alias column = "code.column";
- /** "code.column.number" */
- alias columnNumber = "code.column.number";
- /** "code.file.path" */
- alias filePath = "code.file.path";
- /** "code.filepath" */
- alias filepath = "code.filepath";
- /** "code.function" */
- alias function = "code.function";
- /** "code.function.name" */
- alias functionName = "code.function.name";
- /** "code.line.number" */
- alias lineNumber = "code.line.number";
- /** "code.lineno" */
- alias lineno = "code.lineno";
- /** "code.namespace" */
- alias `namespace` = "code.namespace";
- /** "code.stacktrace" */
- alias stacktrace = "code.stacktrace";
- }
-
- /** container.* attribute keys */
- namespace Container {
- /** "container.command" */
- alias command = "container.command";
- /** "container.command_args" */
- alias commandArgs = "container.command_args";
- /** "container.command_line" */
- alias commandLine = "container.command_line";
- /** "container.cpu.state" */
- alias cpuState = "container.cpu.state";
- /** "container.csi.plugin.name" */
- alias csiPluginName = "container.csi.plugin.name";
- /** "container.csi.volume.id" */
- alias csiVolumeId = "container.csi.volume.id";
- /** "container.id" */
- alias id = "container.id";
- /** "container.image.id" */
- alias imageId = "container.image.id";
- /** "container.image.name" */
- alias imageName = "container.image.name";
- /** "container.image.repo_digests" */
- alias imageRepoDigests = "container.image.repo_digests";
- /** "container.image.tags" */
- alias imageTags = "container.image.tags";
- /** "container.name" */
- alias name = "container.name";
- /** "container.runtime" */
- alias runtime = "container.runtime";
- /** "container.runtime.description" */
- alias runtimeDescription = "container.runtime.description";
- /** "container.runtime.name" */
- alias runtimeName = "container.runtime.name";
- /** "container.runtime.version" */
- alias runtimeVersion = "container.runtime.version";
- }
-
- /** db.* attribute keys */
- namespace Db {
- /** "db.cassandra.consistency_level" */
- alias cassandraConsistencyLevel = "db.cassandra.consistency_level";
- /** "db.cassandra.coordinator.dc" */
- alias cassandraCoordinatorDc = "db.cassandra.coordinator.dc";
- /** "db.cassandra.coordinator.id" */
- alias cassandraCoordinatorId = "db.cassandra.coordinator.id";
- /** "db.cassandra.idempotence" */
- alias cassandraIdempotence = "db.cassandra.idempotence";
- /** "db.cassandra.page_size" */
- alias cassandraPageSize = "db.cassandra.page_size";
- /** "db.cassandra.speculative_execution_count" */
- alias cassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count";
- /** "db.cassandra.table" */
- alias cassandraTable = "db.cassandra.table";
- /** "db.client.connection.pool.name" */
- alias clientConnectionPoolName = "db.client.connection.pool.name";
- /** "db.client.connection.state" */
- alias clientConnectionState = "db.client.connection.state";
- /** "db.client.connections.pool.name" */
- alias clientConnectionsPoolName = "db.client.connections.pool.name";
- /** "db.client.connections.state" */
- alias clientConnectionsState = "db.client.connections.state";
- /** "db.collection.name" */
- alias collectionName = "db.collection.name";
- /** "db.connection_string" */
- alias connectionString = "db.connection_string";
- /** "db.cosmosdb.client_id" */
- alias cosmosdbClientId = "db.cosmosdb.client_id";
- /** "db.cosmosdb.connection_mode" */
- alias cosmosdbConnectionMode = "db.cosmosdb.connection_mode";
- /** "db.cosmosdb.consistency_level" */
- alias cosmosdbConsistencyLevel = "db.cosmosdb.consistency_level";
- /** "db.cosmosdb.container" */
- alias cosmosdbContainer = "db.cosmosdb.container";
- /** "db.cosmosdb.operation_type" */
- alias cosmosdbOperationType = "db.cosmosdb.operation_type";
- /** "db.cosmosdb.regions_contacted" */
- alias cosmosdbRegionsContacted = "db.cosmosdb.regions_contacted";
- /** "db.cosmosdb.request_charge" */
- alias cosmosdbRequestCharge = "db.cosmosdb.request_charge";
- /** "db.cosmosdb.request_content_length" */
- alias cosmosdbRequestContentLength = "db.cosmosdb.request_content_length";
- /** "db.cosmosdb.status_code" */
- alias cosmosdbStatusCode = "db.cosmosdb.status_code";
- /** "db.cosmosdb.sub_status_code" */
- alias cosmosdbSubStatusCode = "db.cosmosdb.sub_status_code";
- /** "db.elasticsearch.cluster.name" */
- alias elasticsearchClusterName = "db.elasticsearch.cluster.name";
- /** "db.elasticsearch.node.name" */
- alias elasticsearchNodeName = "db.elasticsearch.node.name";
- /** "db.instance.id" */
- alias instanceId = "db.instance.id";
- /** "db.jdbc.driver_classname" */
- alias jdbcDriverClassname = "db.jdbc.driver_classname";
- /** "db.mongodb.collection" */
- alias mongodbCollection = "db.mongodb.collection";
- /** "db.mssql.instance_name" */
- alias mssqlInstanceName = "db.mssql.instance_name";
- /** "db.name" */
- alias name = "db.name";
- /** "db.namespace" */
- alias `namespace` = "db.namespace";
- /** "db.operation" */
- alias operation = "db.operation";
- /** "db.operation.batch.size" */
- alias operationBatchSize = "db.operation.batch.size";
- /** "db.operation.name" */
- alias operationName = "db.operation.name";
- /** "db.query.summary" */
- alias querySummary = "db.query.summary";
- /** "db.query.text" */
- alias queryText = "db.query.text";
- /** "db.redis.database_index" */
- alias redisDatabaseIndex = "db.redis.database_index";
- /** "db.response.returned_rows" */
- alias responseReturnedRows = "db.response.returned_rows";
- /** "db.response.status_code" */
- alias responseStatusCode = "db.response.status_code";
- /** "db.sql.table" */
- alias sqlTable = "db.sql.table";
- /** "db.statement" */
- alias statement = "db.statement";
- /** "db.stored_procedure.name" */
- alias storedProcedureName = "db.stored_procedure.name";
- /** "db.system" */
- alias system = "db.system";
- /** "db.system.name" */
- alias systemName = "db.system.name";
- /** "db.user" */
- alias user = "db.user";
- }
-
- /** deployment.* attribute keys */
- namespace Deployment {
- /** "deployment.environment" */
- alias environment = "deployment.environment";
- /** "deployment.environment.name" */
- alias environmentName = "deployment.environment.name";
- /** "deployment.id" */
- alias id = "deployment.id";
- /** "deployment.name" */
- alias name = "deployment.name";
- /** "deployment.status" */
- alias status = "deployment.status";
- }
-
- /** dns.* attribute keys */
- namespace Dns {
- /** "dns.answers" */
- alias answers = "dns.answers";
- /** "dns.question.name" */
- alias questionName = "dns.question.name";
- }
-
- /** dotnet.* attribute keys */
- namespace Dotnet {
- /** "dotnet.gc.heap.generation" */
- alias gcHeapGeneration = "dotnet.gc.heap.generation";
- }
-
- /** elasticsearch.* attribute keys */
- namespace Elasticsearch {
- /** "elasticsearch.node.name" */
- alias nodeName = "elasticsearch.node.name";
- }
-
- /** enduser.* attribute keys */
- namespace Enduser {
- /** "enduser.id" */
- alias id = "enduser.id";
- /** "enduser.pseudo.id" */
- alias pseudoId = "enduser.pseudo.id";
- /** "enduser.role" */
- alias role = "enduser.role";
- /** "enduser.scope" */
- alias scope = "enduser.scope";
- }
-
- /** error.* attribute keys */
- namespace Error {
- /** "error.message" */
- alias message = "error.message";
- /** "error.type" */
- alias type = "error.type";
- }
-
- /** exception.* attribute keys */
- namespace Exception {
- /** "exception.escaped" */
- alias escaped = "exception.escaped";
- /** "exception.message" */
- alias message = "exception.message";
- /** "exception.stacktrace" */
- alias stacktrace = "exception.stacktrace";
- /** "exception.type" */
- alias type = "exception.type";
- }
-
- /** faas.* attribute keys */
- namespace Faas {
- /** "faas.coldstart" */
- alias coldstart = "faas.coldstart";
- /** "faas.cron" */
- alias cron = "faas.cron";
- /** "faas.document.collection" */
- alias documentCollection = "faas.document.collection";
- /** "faas.document.name" */
- alias documentName = "faas.document.name";
- /** "faas.document.operation" */
- alias documentOperation = "faas.document.operation";
- /** "faas.document.time" */
- alias documentTime = "faas.document.time";
- /** "faas.instance" */
- alias instance = "faas.instance";
- /** "faas.invocation_id" */
- alias invocationId = "faas.invocation_id";
- /** "faas.invoked_name" */
- alias invokedName = "faas.invoked_name";
- /** "faas.invoked_provider" */
- alias invokedProvider = "faas.invoked_provider";
- /** "faas.invoked_region" */
- alias invokedRegion = "faas.invoked_region";
- /** "faas.max_memory" */
- alias maxMemory = "faas.max_memory";
- /** "faas.name" */
- alias name = "faas.name";
- /** "faas.time" */
- alias time = "faas.time";
- /** "faas.trigger" */
- alias trigger = "faas.trigger";
- /** "faas.version" */
- alias version = "faas.version";
- }
-
- /** feature_flag.* attribute keys */
- namespace FeatureFlag {
- /** "feature_flag.context.id" */
- alias contextId = "feature_flag.context.id";
- /** "feature_flag.error.message" */
- alias errorMessage = "feature_flag.error.message";
- /** "feature_flag.evaluation.error.message" */
- alias evaluationErrorMessage = "feature_flag.evaluation.error.message";
- /** "feature_flag.evaluation.reason" */
- alias evaluationReason = "feature_flag.evaluation.reason";
- /** "feature_flag.key" */
- alias key = "feature_flag.key";
- /** "feature_flag.provider.name" */
- alias providerName = "feature_flag.provider.name";
- /** "feature_flag.result.reason" */
- alias resultReason = "feature_flag.result.reason";
- /** "feature_flag.result.value" */
- alias resultValue = "feature_flag.result.value";
- /** "feature_flag.result.variant" */
- alias resultVariant = "feature_flag.result.variant";
- /** "feature_flag.set.id" */
- alias setId = "feature_flag.set.id";
- /** "feature_flag.variant" */
- alias variant = "feature_flag.variant";
- /** "feature_flag.version" */
- alias version = "feature_flag.version";
- }
-
- /** file.* attribute keys */
- namespace File {
- /** "file.accessed" */
- alias accessed = "file.accessed";
- /** "file.attributes" */
- alias attributes = "file.attributes";
- /** "file.changed" */
- alias changed = "file.changed";
- /** "file.created" */
- alias created = "file.created";
- /** "file.directory" */
- alias directory = "file.directory";
- /** "file.extension" */
- alias extension = "file.extension";
- /** "file.fork_name" */
- alias forkName = "file.fork_name";
- /** "file.group.id" */
- alias groupId = "file.group.id";
- /** "file.group.name" */
- alias groupName = "file.group.name";
- /** "file.inode" */
- alias inode = "file.inode";
- /** "file.mode" */
- alias mode = "file.mode";
- /** "file.modified" */
- alias modified = "file.modified";
- /** "file.name" */
- alias name = "file.name";
- /** "file.owner.id" */
- alias ownerId = "file.owner.id";
- /** "file.owner.name" */
- alias ownerName = "file.owner.name";
- /** "file.path" */
- alias path = "file.path";
- /** "file.size" */
- alias size = "file.size";
- /** "file.symbolic_link.target_path" */
- alias symbolicLinkTargetPath = "file.symbolic_link.target_path";
- }
-
- /** gen_ai.* attribute keys */
- namespace GenAi {
- /** "gen_ai.agent.description" */
- alias agentDescription = "gen_ai.agent.description";
- /** "gen_ai.agent.id" */
- alias agentId = "gen_ai.agent.id";
- /** "gen_ai.agent.name" */
- alias agentName = "gen_ai.agent.name";
- /** "gen_ai.agent.version" */
- alias agentVersion = "gen_ai.agent.version";
- /** "gen_ai.completion" */
- alias completion = "gen_ai.completion";
- /** "gen_ai.conversation.id" */
- alias conversationId = "gen_ai.conversation.id";
- /** "gen_ai.data_source.id" */
- alias dataSourceId = "gen_ai.data_source.id";
- /** "gen_ai.embeddings.dimension.count" */
- alias embeddingsDimensionCount = "gen_ai.embeddings.dimension.count";
- /** "gen_ai.evaluation.explanation" */
- alias evaluationExplanation = "gen_ai.evaluation.explanation";
- /** "gen_ai.evaluation.name" */
- alias evaluationName = "gen_ai.evaluation.name";
- /** "gen_ai.evaluation.score.label" */
- alias evaluationScoreLabel = "gen_ai.evaluation.score.label";
- /** "gen_ai.evaluation.score.value" */
- alias evaluationScoreValue = "gen_ai.evaluation.score.value";
- /** "gen_ai.input.messages" */
- alias inputMessages = "gen_ai.input.messages";
- /** "gen_ai.openai.request.response_format" */
- alias openaiRequestResponseFormat = "gen_ai.openai.request.response_format";
- /** "gen_ai.openai.request.seed" */
- alias openaiRequestSeed = "gen_ai.openai.request.seed";
- /** "gen_ai.openai.request.service_tier" */
- alias openaiRequestServiceTier = "gen_ai.openai.request.service_tier";
- /** "gen_ai.openai.response.service_tier" */
- alias openaiResponseServiceTier = "gen_ai.openai.response.service_tier";
- /** "gen_ai.openai.response.system_fingerprint" */
- alias openaiResponseSystemFingerprint = "gen_ai.openai.response.system_fingerprint";
- /** "gen_ai.operation.name" */
- alias operationName = "gen_ai.operation.name";
- /** "gen_ai.output.messages" */
- alias outputMessages = "gen_ai.output.messages";
- /** "gen_ai.output.type" */
- alias outputType = "gen_ai.output.type";
- /** "gen_ai.prompt" */
- alias prompt = "gen_ai.prompt";
- /** "gen_ai.prompt.name" */
- alias promptName = "gen_ai.prompt.name";
- /** "gen_ai.provider.name" */
- alias providerName = "gen_ai.provider.name";
- /** "gen_ai.request.choice.count" */
- alias requestChoiceCount = "gen_ai.request.choice.count";
- /** "gen_ai.request.encoding_formats" */
- alias requestEncodingFormats = "gen_ai.request.encoding_formats";
- /** "gen_ai.request.frequency_penalty" */
- alias requestFrequencyPenalty = "gen_ai.request.frequency_penalty";
- /** "gen_ai.request.max_tokens" */
- alias requestMaxTokens = "gen_ai.request.max_tokens";
- /** "gen_ai.request.model" */
- alias requestModel = "gen_ai.request.model";
- /** "gen_ai.request.presence_penalty" */
- alias requestPresencePenalty = "gen_ai.request.presence_penalty";
- /** "gen_ai.request.seed" */
- alias requestSeed = "gen_ai.request.seed";
- /** "gen_ai.request.stop_sequences" */
- alias requestStopSequences = "gen_ai.request.stop_sequences";
- /** "gen_ai.request.temperature" */
- alias requestTemperature = "gen_ai.request.temperature";
- /** "gen_ai.request.top_k" */
- alias requestTopK = "gen_ai.request.top_k";
- /** "gen_ai.request.top_p" */
- alias requestTopP = "gen_ai.request.top_p";
- /** "gen_ai.response.finish_reasons" */
- alias responseFinishReasons = "gen_ai.response.finish_reasons";
- /** "gen_ai.response.id" */
- alias responseId = "gen_ai.response.id";
- /** "gen_ai.response.model" */
- alias responseModel = "gen_ai.response.model";
- /** "gen_ai.retrieval.documents" */
- alias retrievalDocuments = "gen_ai.retrieval.documents";
- /** "gen_ai.retrieval.query.text" */
- alias retrievalQueryText = "gen_ai.retrieval.query.text";
- /** "gen_ai.system" */
- alias system = "gen_ai.system";
- /** "gen_ai.system_instructions" */
- alias systemInstructions = "gen_ai.system_instructions";
- /** "gen_ai.token.type" */
- alias tokenType = "gen_ai.token.type";
- /** "gen_ai.tool.call.arguments" */
- alias toolCallArguments = "gen_ai.tool.call.arguments";
- /** "gen_ai.tool.call.id" */
- alias toolCallId = "gen_ai.tool.call.id";
- /** "gen_ai.tool.call.result" */
- alias toolCallResult = "gen_ai.tool.call.result";
- /** "gen_ai.tool.definitions" */
- alias toolDefinitions = "gen_ai.tool.definitions";
- /** "gen_ai.tool.description" */
- alias toolDescription = "gen_ai.tool.description";
- /** "gen_ai.tool.name" */
- alias toolName = "gen_ai.tool.name";
- /** "gen_ai.tool.type" */
- alias toolType = "gen_ai.tool.type";
- /** "gen_ai.usage.cache_creation.input_tokens" */
- alias usageCacheCreationInputTokens = "gen_ai.usage.cache_creation.input_tokens";
- /** "gen_ai.usage.cache_read.input_tokens" */
- alias usageCacheReadInputTokens = "gen_ai.usage.cache_read.input_tokens";
- /** "gen_ai.usage.completion_tokens" */
- alias usageCompletionTokens = "gen_ai.usage.completion_tokens";
- /** "gen_ai.usage.input_tokens" */
- alias usageInputTokens = "gen_ai.usage.input_tokens";
- /** "gen_ai.usage.output_tokens" */
- alias usageOutputTokens = "gen_ai.usage.output_tokens";
- /** "gen_ai.usage.prompt_tokens" */
- alias usagePromptTokens = "gen_ai.usage.prompt_tokens";
- }
-
- /** geo.* attribute keys */
- namespace Geo {
- /** "geo.continent.code" */
- alias continentCode = "geo.continent.code";
- /** "geo.country.iso_code" */
- alias countryIsoCode = "geo.country.iso_code";
- /** "geo.locality.name" */
- alias localityName = "geo.locality.name";
- /** "geo.location.lat" */
- alias locationLat = "geo.location.lat";
- /** "geo.location.lon" */
- alias locationLon = "geo.location.lon";
- /** "geo.postal_code" */
- alias postalCode = "geo.postal_code";
- /** "geo.region.iso_code" */
- alias regionIsoCode = "geo.region.iso_code";
- }
-
- /** host.* attribute keys */
- namespace Host {
- /** "host.arch" */
- alias arch = "host.arch";
- /** "host.cpu.cache.l2.size" */
- alias cpuCacheL2Size = "host.cpu.cache.l2.size";
- /** "host.cpu.family" */
- alias cpuFamily = "host.cpu.family";
- /** "host.cpu.model.id" */
- alias cpuModelId = "host.cpu.model.id";
- /** "host.cpu.model.name" */
- alias cpuModelName = "host.cpu.model.name";
- /** "host.cpu.stepping" */
- alias cpuStepping = "host.cpu.stepping";
- /** "host.cpu.vendor.id" */
- alias cpuVendorId = "host.cpu.vendor.id";
- /** "host.id" */
- alias id = "host.id";
- /** "host.image.id" */
- alias imageId = "host.image.id";
- /** "host.image.name" */
- alias imageName = "host.image.name";
- /** "host.image.version" */
- alias imageVersion = "host.image.version";
- /** "host.ip" */
- alias ip = "host.ip";
- /** "host.mac" */
- alias mac = "host.mac";
- /** "host.name" */
- alias name = "host.name";
- /** "host.type" */
- alias type = "host.type";
- }
-
- /** http.* attribute keys */
- namespace Http {
- /** "http.client_ip" */
- alias clientIp = "http.client_ip";
- /** "http.connection.state" */
- alias connectionState = "http.connection.state";
- /** "http.flavor" */
- alias flavor = "http.flavor";
- /** "http.host" */
- alias host = "http.host";
- /** "http.method" */
- alias method = "http.method";
- /** "http.request_content_length" */
- alias requestContentLength = "http.request_content_length";
- /** "http.request_content_length_uncompressed" */
- alias requestContentLengthUncompressed = "http.request_content_length_uncompressed";
- /** "http.request.body.size" */
- alias requestBodySize = "http.request.body.size";
- /** "http.request.method" */
- alias requestMethod = "http.request.method";
- /** "http.request.method_original" */
- alias requestMethodOriginal = "http.request.method_original";
- /** "http.request.resend_count" */
- alias requestResendCount = "http.request.resend_count";
- /** "http.request.size" */
- alias requestSize = "http.request.size";
- /** "http.response_content_length" */
- alias responseContentLength = "http.response_content_length";
- /** "http.response_content_length_uncompressed" */
- alias responseContentLengthUncompressed = "http.response_content_length_uncompressed";
- /** "http.response.body.size" */
- alias responseBodySize = "http.response.body.size";
- /** "http.response.size" */
- alias responseSize = "http.response.size";
- /** "http.response.status_code" */
- alias responseStatusCode = "http.response.status_code";
- /** "http.route" */
- alias route = "http.route";
- /** "http.scheme" */
- alias scheme = "http.scheme";
- /** "http.server_name" */
- alias serverName = "http.server_name";
- /** "http.status_code" */
- alias statusCode = "http.status_code";
- /** "http.target" */
- alias target = "http.target";
- /** "http.url" */
- alias url = "http.url";
- /** "http.user_agent" */
- alias userAgent = "http.user_agent";
- }
-
- /** k8s.* attribute keys */
- namespace K8s {
- /** "k8s.cluster.name" */
- alias clusterName = "k8s.cluster.name";
- /** "k8s.cluster.uid" */
- alias clusterUid = "k8s.cluster.uid";
- /** "k8s.container.name" */
- alias containerName = "k8s.container.name";
- /** "k8s.container.restart_count" */
- alias containerRestartCount = "k8s.container.restart_count";
- /** "k8s.container.status.last_terminated_reason" */
- alias containerStatusLastTerminatedReason = "k8s.container.status.last_terminated_reason";
- /** "k8s.container.status.reason" */
- alias containerStatusReason = "k8s.container.status.reason";
- /** "k8s.container.status.state" */
- alias containerStatusState = "k8s.container.status.state";
- /** "k8s.cronjob.name" */
- alias cronjobName = "k8s.cronjob.name";
- /** "k8s.cronjob.uid" */
- alias cronjobUid = "k8s.cronjob.uid";
- /** "k8s.daemonset.name" */
- alias daemonsetName = "k8s.daemonset.name";
- /** "k8s.daemonset.uid" */
- alias daemonsetUid = "k8s.daemonset.uid";
- /** "k8s.deployment.name" */
- alias deploymentName = "k8s.deployment.name";
- /** "k8s.deployment.uid" */
- alias deploymentUid = "k8s.deployment.uid";
- /** "k8s.hpa.metric.type" */
- alias hpaMetricType = "k8s.hpa.metric.type";
- /** "k8s.hpa.name" */
- alias hpaName = "k8s.hpa.name";
- /** "k8s.hpa.scaletargetref.api_version" */
- alias hpaScaletargetrefApiVersion = "k8s.hpa.scaletargetref.api_version";
- /** "k8s.hpa.scaletargetref.kind" */
- alias hpaScaletargetrefKind = "k8s.hpa.scaletargetref.kind";
- /** "k8s.hpa.scaletargetref.name" */
- alias hpaScaletargetrefName = "k8s.hpa.scaletargetref.name";
- /** "k8s.hpa.uid" */
- alias hpaUid = "k8s.hpa.uid";
- /** "k8s.hugepage.size" */
- alias hugepageSize = "k8s.hugepage.size";
- /** "k8s.job.name" */
- alias jobName = "k8s.job.name";
- /** "k8s.job.uid" */
- alias jobUid = "k8s.job.uid";
- /** "k8s.namespace.name" */
- alias namespaceName = "k8s.namespace.name";
- /** "k8s.namespace.phase" */
- alias namespacePhase = "k8s.namespace.phase";
- /** "k8s.node.condition.status" */
- alias nodeConditionStatus = "k8s.node.condition.status";
- /** "k8s.node.condition.type" */
- alias nodeConditionType = "k8s.node.condition.type";
- /** "k8s.node.name" */
- alias nodeName = "k8s.node.name";
- /** "k8s.node.uid" */
- alias nodeUid = "k8s.node.uid";
- /** "k8s.pod.hostname" */
- alias podHostname = "k8s.pod.hostname";
- /** "k8s.pod.ip" */
- alias podIp = "k8s.pod.ip";
- /** "k8s.pod.name" */
- alias podName = "k8s.pod.name";
- /** "k8s.pod.start_time" */
- alias podStartTime = "k8s.pod.start_time";
- /** "k8s.pod.status.phase" */
- alias podStatusPhase = "k8s.pod.status.phase";
- /** "k8s.pod.status.reason" */
- alias podStatusReason = "k8s.pod.status.reason";
- /** "k8s.pod.uid" */
- alias podUid = "k8s.pod.uid";
- /** "k8s.replicaset.name" */
- alias replicasetName = "k8s.replicaset.name";
- /** "k8s.replicaset.uid" */
- alias replicasetUid = "k8s.replicaset.uid";
- /** "k8s.replicationcontroller.name" */
- alias replicationcontrollerName = "k8s.replicationcontroller.name";
- /** "k8s.replicationcontroller.uid" */
- alias replicationcontrollerUid = "k8s.replicationcontroller.uid";
- /** "k8s.resourcequota.name" */
- alias resourcequotaName = "k8s.resourcequota.name";
- /** "k8s.resourcequota.resource_name" */
- alias resourcequotaResourceName = "k8s.resourcequota.resource_name";
- /** "k8s.resourcequota.uid" */
- alias resourcequotaUid = "k8s.resourcequota.uid";
- /** "k8s.service.endpoint.address_type" */
- alias serviceEndpointAddressType = "k8s.service.endpoint.address_type";
- /** "k8s.service.endpoint.condition" */
- alias serviceEndpointCondition = "k8s.service.endpoint.condition";
- /** "k8s.service.endpoint.zone" */
- alias serviceEndpointZone = "k8s.service.endpoint.zone";
- /** "k8s.service.name" */
- alias serviceName = "k8s.service.name";
- /** "k8s.service.publish_not_ready_addresses" */
- alias servicePublishNotReadyAddresses = "k8s.service.publish_not_ready_addresses";
- /** "k8s.service.traffic_distribution" */
- alias serviceTrafficDistribution = "k8s.service.traffic_distribution";
- /** "k8s.service.type" */
- alias serviceType = "k8s.service.type";
- /** "k8s.service.uid" */
- alias serviceUid = "k8s.service.uid";
- /** "k8s.statefulset.name" */
- alias statefulsetName = "k8s.statefulset.name";
- /** "k8s.statefulset.uid" */
- alias statefulsetUid = "k8s.statefulset.uid";
- /** "k8s.storageclass.name" */
- alias storageclassName = "k8s.storageclass.name";
- /** "k8s.volume.name" */
- alias volumeName = "k8s.volume.name";
- /** "k8s.volume.type" */
- alias volumeType = "k8s.volume.type";
- }
-
- /** log.* attribute keys */
- namespace Log {
- /** "log.file.name" */
- alias fileName = "log.file.name";
- /** "log.file.name_resolved" */
- alias fileNameResolved = "log.file.name_resolved";
- /** "log.file.path" */
- alias filePath = "log.file.path";
- /** "log.file.path_resolved" */
- alias filePathResolved = "log.file.path_resolved";
- /** "log.iostream" */
- alias iostream = "log.iostream";
- /** "log.record.original" */
- alias recordOriginal = "log.record.original";
- /** "log.record.uid" */
- alias recordUid = "log.record.uid";
- }
-
- /** messaging.* attribute keys */
- namespace Messaging {
- /** "messaging.batch.message_count" */
- alias batchMessageCount = "messaging.batch.message_count";
- /** "messaging.client.id" */
- alias clientId = "messaging.client.id";
- /** "messaging.consumer.group.name" */
- alias consumerGroupName = "messaging.consumer.group.name";
- /** "messaging.destination_publish.anonymous" */
- alias destinationPublishAnonymous = "messaging.destination_publish.anonymous";
- /** "messaging.destination_publish.name" */
- alias destinationPublishName = "messaging.destination_publish.name";
- /** "messaging.destination.anonymous" */
- alias destinationAnonymous = "messaging.destination.anonymous";
- /** "messaging.destination.name" */
- alias destinationName = "messaging.destination.name";
- /** "messaging.destination.partition.id" */
- alias destinationPartitionId = "messaging.destination.partition.id";
- /** "messaging.destination.subscription.name" */
- alias destinationSubscriptionName = "messaging.destination.subscription.name";
- /** "messaging.destination.template" */
- alias destinationTemplate = "messaging.destination.template";
- /** "messaging.destination.temporary" */
- alias destinationTemporary = "messaging.destination.temporary";
- /** "messaging.eventhubs.consumer.group" */
- alias eventhubsConsumerGroup = "messaging.eventhubs.consumer.group";
- /** "messaging.eventhubs.message.enqueued_time" */
- alias eventhubsMessageEnqueuedTime = "messaging.eventhubs.message.enqueued_time";
- /** "messaging.gcp_pubsub.message.ack_deadline" */
- alias gcpPubsubMessageAckDeadline = "messaging.gcp_pubsub.message.ack_deadline";
- /** "messaging.gcp_pubsub.message.ack_id" */
- alias gcpPubsubMessageAckId = "messaging.gcp_pubsub.message.ack_id";
- /** "messaging.gcp_pubsub.message.delivery_attempt" */
- alias gcpPubsubMessageDeliveryAttempt = "messaging.gcp_pubsub.message.delivery_attempt";
- /** "messaging.gcp_pubsub.message.ordering_key" */
- alias gcpPubsubMessageOrderingKey = "messaging.gcp_pubsub.message.ordering_key";
- /** "messaging.kafka.consumer.group" */
- alias kafkaConsumerGroup = "messaging.kafka.consumer.group";
- /** "messaging.kafka.destination.partition" */
- alias kafkaDestinationPartition = "messaging.kafka.destination.partition";
- /** "messaging.kafka.message.key" */
- alias kafkaMessageKey = "messaging.kafka.message.key";
- /** "messaging.kafka.message.offset" */
- alias kafkaMessageOffset = "messaging.kafka.message.offset";
- /** "messaging.kafka.message.tombstone" */
- alias kafkaMessageTombstone = "messaging.kafka.message.tombstone";
- /** "messaging.kafka.offset" */
- alias kafkaOffset = "messaging.kafka.offset";
- /** "messaging.message.body.size" */
- alias messageBodySize = "messaging.message.body.size";
- /** "messaging.message.conversation_id" */
- alias messageConversationId = "messaging.message.conversation_id";
- /** "messaging.message.envelope.size" */
- alias messageEnvelopeSize = "messaging.message.envelope.size";
- /** "messaging.message.id" */
- alias messageId = "messaging.message.id";
- /** "messaging.operation" */
- alias operation = "messaging.operation";
- /** "messaging.operation.name" */
- alias operationName = "messaging.operation.name";
- /** "messaging.operation.type" */
- alias operationType = "messaging.operation.type";
- /** "messaging.rabbitmq.destination.routing_key" */
- alias rabbitmqDestinationRoutingKey = "messaging.rabbitmq.destination.routing_key";
- /** "messaging.rabbitmq.message.delivery_tag" */
- alias rabbitmqMessageDeliveryTag = "messaging.rabbitmq.message.delivery_tag";
- /** "messaging.rocketmq.client_group" */
- alias rocketmqClientGroup = "messaging.rocketmq.client_group";
- /** "messaging.rocketmq.consumption_model" */
- alias rocketmqConsumptionModel = "messaging.rocketmq.consumption_model";
- /** "messaging.rocketmq.message.delay_time_level" */
- alias rocketmqMessageDelayTimeLevel = "messaging.rocketmq.message.delay_time_level";
- /** "messaging.rocketmq.message.delivery_timestamp" */
- alias rocketmqMessageDeliveryTimestamp = "messaging.rocketmq.message.delivery_timestamp";
- /** "messaging.rocketmq.message.group" */
- alias rocketmqMessageGroup = "messaging.rocketmq.message.group";
- /** "messaging.rocketmq.message.keys" */
- alias rocketmqMessageKeys = "messaging.rocketmq.message.keys";
- /** "messaging.rocketmq.message.tag" */
- alias rocketmqMessageTag = "messaging.rocketmq.message.tag";
- /** "messaging.rocketmq.message.type" */
- alias rocketmqMessageType = "messaging.rocketmq.message.type";
- /** "messaging.rocketmq.namespace" */
- alias rocketmqNamespace = "messaging.rocketmq.namespace";
- /** "messaging.servicebus.destination.subscription_name" */
- alias servicebusDestinationSubscriptionName = "messaging.servicebus.destination.subscription_name";
- /** "messaging.servicebus.disposition_status" */
- alias servicebusDispositionStatus = "messaging.servicebus.disposition_status";
- /** "messaging.servicebus.message.delivery_count" */
- alias servicebusMessageDeliveryCount = "messaging.servicebus.message.delivery_count";
- /** "messaging.servicebus.message.enqueued_time" */
- alias servicebusMessageEnqueuedTime = "messaging.servicebus.message.enqueued_time";
- /** "messaging.system" */
- alias system = "messaging.system";
- }
-
- /** network.* attribute keys */
- namespace Network {
- /** "network.carrier.icc" */
- alias carrierIcc = "network.carrier.icc";
- /** "network.carrier.mcc" */
- alias carrierMcc = "network.carrier.mcc";
- /** "network.carrier.mnc" */
- alias carrierMnc = "network.carrier.mnc";
- /** "network.carrier.name" */
- alias carrierName = "network.carrier.name";
- /** "network.connection.state" */
- alias connectionState = "network.connection.state";
- /** "network.connection.subtype" */
- alias connectionSubtype = "network.connection.subtype";
- /** "network.connection.type" */
- alias connectionType = "network.connection.type";
- /** "network.interface.name" */
- alias interfaceName = "network.interface.name";
- /** "network.io.direction" */
- alias ioDirection = "network.io.direction";
- /** "network.local.address" */
- alias localAddress = "network.local.address";
- /** "network.local.port" */
- alias localPort = "network.local.port";
- /** "network.peer.address" */
- alias peerAddress = "network.peer.address";
- /** "network.peer.port" */
- alias peerPort = "network.peer.port";
- /** "network.protocol.name" */
- alias protocolName = "network.protocol.name";
- /** "network.protocol.version" */
- alias protocolVersion = "network.protocol.version";
- /** "network.transport" */
- alias transport = "network.transport";
- /** "network.type" */
- alias type = "network.type";
- }
-
- /** openai.* attribute keys */
- namespace Openai {
- /** "openai.api.type" */
- alias apiType = "openai.api.type";
- /** "openai.request.service_tier" */
- alias requestServiceTier = "openai.request.service_tier";
- /** "openai.response.service_tier" */
- alias responseServiceTier = "openai.response.service_tier";
- /** "openai.response.system_fingerprint" */
- alias responseSystemFingerprint = "openai.response.system_fingerprint";
- }
-
- /** oracle_cloud.* attribute keys */
- namespace OracleCloud {
- /** "oracle_cloud.realm" */
- alias realm = "oracle_cloud.realm";
- }
-
- /** oracle.* attribute keys */
- namespace Oracle {
- /** "oracle.db.domain" */
- alias dbDomain = "oracle.db.domain";
- /** "oracle.db.instance.name" */
- alias dbInstanceName = "oracle.db.instance.name";
- /** "oracle.db.name" */
- alias dbName = "oracle.db.name";
- /** "oracle.db.pdb" */
- alias dbPdb = "oracle.db.pdb";
- /** "oracle.db.service" */
- alias dbService = "oracle.db.service";
- }
-
- /** os.* attribute keys */
- namespace Os {
- /** "os.build_id" */
- alias buildId = "os.build_id";
- /** "os.description" */
- alias description = "os.description";
- /** "os.name" */
- alias name = "os.name";
- /** "os.type" */
- alias type = "os.type";
- /** "os.version" */
- alias version = "os.version";
- }
-
- /** otel.* attribute keys */
- namespace Otel {
- /** "otel.component.name" */
- alias componentName = "otel.component.name";
- /** "otel.component.type" */
- alias componentType = "otel.component.type";
- /** "otel.event.name" */
- alias eventName = "otel.event.name";
- /** "otel.library.name" */
- alias libraryName = "otel.library.name";
- /** "otel.library.version" */
- alias libraryVersion = "otel.library.version";
- /** "otel.scope.name" */
- alias scopeName = "otel.scope.name";
- /** "otel.scope.schema_url" */
- alias scopeSchemaUrl = "otel.scope.schema_url";
- /** "otel.scope.version" */
- alias scopeVersion = "otel.scope.version";
- /** "otel.span.parent.origin" */
- alias spanParentOrigin = "otel.span.parent.origin";
- /** "otel.span.sampling_result" */
- alias spanSamplingResult = "otel.span.sampling_result";
- /** "otel.status_code" */
- alias statusCode = "otel.status_code";
- /** "otel.status_description" */
- alias statusDescription = "otel.status_description";
- }
-
- /** pprof.* attribute keys */
- namespace Pprof {
- /** "pprof.location.is_folded" */
- alias locationIsFolded = "pprof.location.is_folded";
- /** "pprof.mapping.has_filenames" */
- alias mappingHasFilenames = "pprof.mapping.has_filenames";
- /** "pprof.mapping.has_functions" */
- alias mappingHasFunctions = "pprof.mapping.has_functions";
- /** "pprof.mapping.has_inline_frames" */
- alias mappingHasInlineFrames = "pprof.mapping.has_inline_frames";
- /** "pprof.mapping.has_line_numbers" */
- alias mappingHasLineNumbers = "pprof.mapping.has_line_numbers";
- /** "pprof.profile.comment" */
- alias profileComment = "pprof.profile.comment";
- /** "pprof.profile.doc_url" */
- alias profileDocUrl = "pprof.profile.doc_url";
- /** "pprof.profile.drop_frames" */
- alias profileDropFrames = "pprof.profile.drop_frames";
- /** "pprof.profile.keep_frames" */
- alias profileKeepFrames = "pprof.profile.keep_frames";
- /** "pprof.scope.default_sample_type" */
- alias scopeDefaultSampleType = "pprof.scope.default_sample_type";
- /** "pprof.scope.sample_type_order" */
- alias scopeSampleTypeOrder = "pprof.scope.sample_type_order";
- }
-
- /** process.* attribute keys */
- namespace Process {
- /** "process.args_count" */
- alias argsCount = "process.args_count";
- /** "process.command" */
- alias command = "process.command";
- /** "process.command_args" */
- alias commandArgs = "process.command_args";
- /** "process.command_line" */
- alias commandLine = "process.command_line";
- /** "process.context_switch.type" */
- alias contextSwitchType = "process.context_switch.type";
- /** "process.cpu.state" */
- alias cpuState = "process.cpu.state";
- /** "process.creation.time" */
- alias creationTime = "process.creation.time";
- /** "process.executable.build_id.gnu" */
- alias executableBuildIdGnu = "process.executable.build_id.gnu";
- /** "process.executable.build_id.go" */
- alias executableBuildIdGo = "process.executable.build_id.go";
- /** "process.executable.build_id.htlhash" */
- alias executableBuildIdHtlhash = "process.executable.build_id.htlhash";
- /** "process.executable.build_id.profiling" */
- alias executableBuildIdProfiling = "process.executable.build_id.profiling";
- /** "process.executable.name" */
- alias executableName = "process.executable.name";
- /** "process.executable.path" */
- alias executablePath = "process.executable.path";
- /** "process.exit.code" */
- alias exitCode = "process.exit.code";
- /** "process.exit.time" */
- alias exitTime = "process.exit.time";
- /** "process.group_leader.pid" */
- alias groupLeaderPid = "process.group_leader.pid";
- /** "process.interactive" */
- alias interactive = "process.interactive";
- /** "process.linux.cgroup" */
- alias linuxCgroup = "process.linux.cgroup";
- /** "process.owner" */
- alias owner = "process.owner";
- /** "process.paging.fault_type" */
- alias pagingFaultType = "process.paging.fault_type";
- /** "process.parent_pid" */
- alias parentPid = "process.parent_pid";
- /** "process.pid" */
- alias pid = "process.pid";
- /** "process.real_user.id" */
- alias realUserId = "process.real_user.id";
- /** "process.real_user.name" */
- alias realUserName = "process.real_user.name";
- /** "process.runtime.description" */
- alias runtimeDescription = "process.runtime.description";
- /** "process.runtime.name" */
- alias runtimeName = "process.runtime.name";
- /** "process.runtime.version" */
- alias runtimeVersion = "process.runtime.version";
- /** "process.saved_user.id" */
- alias savedUserId = "process.saved_user.id";
- /** "process.saved_user.name" */
- alias savedUserName = "process.saved_user.name";
- /** "process.session_leader.pid" */
- alias sessionLeaderPid = "process.session_leader.pid";
- /** "process.state" */
- alias state = "process.state";
- /** "process.title" */
- alias title = "process.title";
- /** "process.user.id" */
- alias userId = "process.user.id";
- /** "process.user.name" */
- alias userName = "process.user.name";
- /** "process.vpid" */
- alias vpid = "process.vpid";
- /** "process.working_directory" */
- alias workingDirectory = "process.working_directory";
- }
-
- /** profile.* attribute keys */
- namespace Profile {
- /** "profile.frame.type" */
- alias frameType = "profile.frame.type";
- }
-
- /** rpc.* attribute keys */
- namespace Rpc {
- /** "rpc.connect_rpc.error_code" */
- alias connectRpcErrorCode = "rpc.connect_rpc.error_code";
- /** "rpc.grpc.status_code" */
- alias grpcStatusCode = "rpc.grpc.status_code";
- /** "rpc.jsonrpc.error_code" */
- alias jsonrpcErrorCode = "rpc.jsonrpc.error_code";
- /** "rpc.jsonrpc.error_message" */
- alias jsonrpcErrorMessage = "rpc.jsonrpc.error_message";
- /** "rpc.jsonrpc.request_id" */
- alias jsonrpcRequestId = "rpc.jsonrpc.request_id";
- /** "rpc.jsonrpc.version" */
- alias jsonrpcVersion = "rpc.jsonrpc.version";
- /** "rpc.message.compressed_size" */
- alias messageCompressedSize = "rpc.message.compressed_size";
- /** "rpc.message.id" */
- alias messageId = "rpc.message.id";
- /** "rpc.message.type" */
- alias messageType = "rpc.message.type";
- /** "rpc.message.uncompressed_size" */
- alias messageUncompressedSize = "rpc.message.uncompressed_size";
- /** "rpc.method" */
- alias method = "rpc.method";
- /** "rpc.method_original" */
- alias methodOriginal = "rpc.method_original";
- /** "rpc.response.status_code" */
- alias responseStatusCode = "rpc.response.status_code";
- /** "rpc.service" */
- alias service = "rpc.service";
- /** "rpc.system" */
- alias system = "rpc.system";
- /** "rpc.system.name" */
- alias systemName = "rpc.system.name";
- }
-
- /** server.* attribute keys */
- namespace Server {
- /** "server.address" */
- alias address = "server.address";
- /** "server.port" */
- alias port = "server.port";
- }
-
- /** service.* attribute keys */
- namespace Service {
- /** "service.criticality" */
- alias criticality = "service.criticality";
- /** "service.instance.id" */
- alias instanceId = "service.instance.id";
- /** "service.name" */
- alias name = "service.name";
- /** "service.namespace" */
- alias `namespace` = "service.namespace";
- /** "service.peer.name" */
- alias peerName = "service.peer.name";
- /** "service.peer.namespace" */
- alias peerNamespace = "service.peer.namespace";
- /** "service.version" */
- alias version = "service.version";
- }
-
- /** session.* attribute keys */
- namespace Session {
- /** "session.id" */
- alias id = "session.id";
- /** "session.previous_id" */
- alias previousId = "session.previous_id";
- }
-
- /** signalr.* attribute keys */
- namespace Signalr {
- /** "signalr.connection.status" */
- alias connectionStatus = "signalr.connection.status";
- /** "signalr.transport" */
- alias transport = "signalr.transport";
- }
-
- /** system.* attribute keys */
- namespace System {
- /** "system.cpu.logical_number" */
- alias cpuLogicalNumber = "system.cpu.logical_number";
- /** "system.cpu.state" */
- alias cpuState = "system.cpu.state";
- /** "system.device" */
- alias device = "system.device";
- /** "system.filesystem.mode" */
- alias filesystemMode = "system.filesystem.mode";
- /** "system.filesystem.mountpoint" */
- alias filesystemMountpoint = "system.filesystem.mountpoint";
- /** "system.filesystem.state" */
- alias filesystemState = "system.filesystem.state";
- /** "system.filesystem.type" */
- alias filesystemType = "system.filesystem.type";
- /** "system.memory.linux.slab.state" */
- alias memoryLinuxSlabState = "system.memory.linux.slab.state";
- /** "system.memory.state" */
- alias memoryState = "system.memory.state";
- /** "system.network.state" */
- alias networkState = "system.network.state";
- /** "system.paging.direction" */
- alias pagingDirection = "system.paging.direction";
- /** "system.paging.fault.type" */
- alias pagingFaultType = "system.paging.fault.type";
- /** "system.paging.state" */
- alias pagingState = "system.paging.state";
- /** "system.paging.type" */
- alias pagingType = "system.paging.type";
- /** "system.process.status" */
- alias processStatus = "system.process.status";
- /** "system.processes.status" */
- alias processesStatus = "system.processes.status";
- }
-
- /** telemetry.* attribute keys */
- namespace Telemetry {
- /** "telemetry.distro.name" */
- alias distroName = "telemetry.distro.name";
- /** "telemetry.distro.version" */
- alias distroVersion = "telemetry.distro.version";
- /** "telemetry.sdk.language" */
- alias sdkLanguage = "telemetry.sdk.language";
- /** "telemetry.sdk.name" */
- alias sdkName = "telemetry.sdk.name";
- /** "telemetry.sdk.version" */
- alias sdkVersion = "telemetry.sdk.version";
- }
-
- /** test.* attribute keys */
- namespace Test {
- /** "test.case.name" */
- alias caseName = "test.case.name";
- /** "test.case.result.status" */
- alias caseResultStatus = "test.case.result.status";
- /** "test.suite.name" */
- alias suiteName = "test.suite.name";
- /** "test.suite.run.status" */
- alias suiteRunStatus = "test.suite.run.status";
- }
-
- /** thread.* attribute keys */
- namespace Thread {
- /** "thread.id" */
- alias id = "thread.id";
- /** "thread.name" */
- alias name = "thread.name";
- }
-
- /** tls.* attribute keys */
- namespace Tls {
- /** "tls.cipher" */
- alias cipher = "tls.cipher";
- /** "tls.client.certificate" */
- alias clientCertificate = "tls.client.certificate";
- /** "tls.client.certificate_chain" */
- alias clientCertificateChain = "tls.client.certificate_chain";
- /** "tls.client.hash.md5" */
- alias clientHashMd5 = "tls.client.hash.md5";
- /** "tls.client.hash.sha1" */
- alias clientHashSha1 = "tls.client.hash.sha1";
- /** "tls.client.hash.sha256" */
- alias clientHashSha256 = "tls.client.hash.sha256";
- /** "tls.client.issuer" */
- alias clientIssuer = "tls.client.issuer";
- /** "tls.client.ja3" */
- alias clientJa3 = "tls.client.ja3";
- /** "tls.client.not_after" */
- alias clientNotAfter = "tls.client.not_after";
- /** "tls.client.not_before" */
- alias clientNotBefore = "tls.client.not_before";
- /** "tls.client.server_name" */
- alias clientServerName = "tls.client.server_name";
- /** "tls.client.subject" */
- alias clientSubject = "tls.client.subject";
- /** "tls.client.supported_ciphers" */
- alias clientSupportedCiphers = "tls.client.supported_ciphers";
- /** "tls.curve" */
- alias curve = "tls.curve";
- /** "tls.established" */
- alias established = "tls.established";
- /** "tls.next_protocol" */
- alias nextProtocol = "tls.next_protocol";
- /** "tls.protocol.name" */
- alias protocolName = "tls.protocol.name";
- /** "tls.protocol.version" */
- alias protocolVersion = "tls.protocol.version";
- /** "tls.resumed" */
- alias resumed = "tls.resumed";
- /** "tls.server.certificate" */
- alias serverCertificate = "tls.server.certificate";
- /** "tls.server.certificate_chain" */
- alias serverCertificateChain = "tls.server.certificate_chain";
- /** "tls.server.hash.md5" */
- alias serverHashMd5 = "tls.server.hash.md5";
- /** "tls.server.hash.sha1" */
- alias serverHashSha1 = "tls.server.hash.sha1";
- /** "tls.server.hash.sha256" */
- alias serverHashSha256 = "tls.server.hash.sha256";
- /** "tls.server.issuer" */
- alias serverIssuer = "tls.server.issuer";
- /** "tls.server.ja3s" */
- alias serverJa3s = "tls.server.ja3s";
- /** "tls.server.not_after" */
- alias serverNotAfter = "tls.server.not_after";
- /** "tls.server.not_before" */
- alias serverNotBefore = "tls.server.not_before";
- /** "tls.server.subject" */
- alias serverSubject = "tls.server.subject";
- }
-
- /** url.* attribute keys */
- namespace Url {
- /** "url.domain" */
- alias domain = "url.domain";
- /** "url.extension" */
- alias extension = "url.extension";
- /** "url.fragment" */
- alias fragment = "url.fragment";
- /** "url.full" */
- alias full = "url.full";
- /** "url.original" */
- alias original = "url.original";
- /** "url.path" */
- alias path = "url.path";
- /** "url.port" */
- alias port = "url.port";
- /** "url.query" */
- alias query = "url.query";
- /** "url.registered_domain" */
- alias registeredDomain = "url.registered_domain";
- /** "url.scheme" */
- alias scheme = "url.scheme";
- /** "url.subdomain" */
- alias subdomain = "url.subdomain";
- /** "url.template" */
- alias template = "url.template";
- /** "url.top_level_domain" */
- alias topLevelDomain = "url.top_level_domain";
- }
-
- /** user_agent.* attribute keys */
- namespace UserAgent {
- /** "user_agent.name" */
- alias name = "user_agent.name";
- /** "user_agent.original" */
- alias original = "user_agent.original";
- /** "user_agent.os.name" */
- alias osName = "user_agent.os.name";
- /** "user_agent.os.version" */
- alias osVersion = "user_agent.os.version";
- /** "user_agent.synthetic.type" */
- alias syntheticType = "user_agent.synthetic.type";
- /** "user_agent.version" */
- alias version = "user_agent.version";
- }
-
- /** user.* attribute keys */
- namespace User {
- /** "user.email" */
- alias email = "user.email";
- /** "user.full_name" */
- alias fullName = "user.full_name";
- /** "user.hash" */
- alias hash = "user.hash";
- /** "user.id" */
- alias id = "user.id";
- /** "user.name" */
- alias name = "user.name";
- /** "user.roles" */
- alias roles = "user.roles";
- }
-
- /** vcs.* attribute keys */
- namespace Vcs {
- /** "vcs.change.id" */
- alias changeId = "vcs.change.id";
- /** "vcs.change.state" */
- alias changeState = "vcs.change.state";
- /** "vcs.change.title" */
- alias changeTitle = "vcs.change.title";
- /** "vcs.line_change.type" */
- alias lineChangeType = "vcs.line_change.type";
- /** "vcs.owner.name" */
- alias ownerName = "vcs.owner.name";
- /** "vcs.provider.name" */
- alias providerName = "vcs.provider.name";
- /** "vcs.ref.base.name" */
- alias refBaseName = "vcs.ref.base.name";
- /** "vcs.ref.base.revision" */
- alias refBaseRevision = "vcs.ref.base.revision";
- /** "vcs.ref.base.type" */
- alias refBaseType = "vcs.ref.base.type";
- /** "vcs.ref.head.name" */
- alias refHeadName = "vcs.ref.head.name";
- /** "vcs.ref.head.revision" */
- alias refHeadRevision = "vcs.ref.head.revision";
- /** "vcs.ref.head.type" */
- alias refHeadType = "vcs.ref.head.type";
- /** "vcs.ref.type" */
- alias refType = "vcs.ref.type";
- /** "vcs.repository.change.id" */
- alias repositoryChangeId = "vcs.repository.change.id";
- /** "vcs.repository.change.title" */
- alias repositoryChangeTitle = "vcs.repository.change.title";
- /** "vcs.repository.name" */
- alias repositoryName = "vcs.repository.name";
- /** "vcs.repository.ref.name" */
- alias repositoryRefName = "vcs.repository.ref.name";
- /** "vcs.repository.ref.revision" */
- alias repositoryRefRevision = "vcs.repository.ref.revision";
- /** "vcs.repository.ref.type" */
- alias repositoryRefType = "vcs.repository.ref.type";
- /** "vcs.repository.url.full" */
- alias repositoryUrlFull = "vcs.repository.url.full";
- /** "vcs.revision_delta.direction" */
- alias revisionDeltaDirection = "vcs.revision_delta.direction";
- }
-
- /** webengine.* attribute keys */
- namespace Webengine {
- /** "webengine.description" */
- alias description = "webengine.description";
- /** "webengine.name" */
- alias name = "webengine.name";
- /** "webengine.version" */
- alias version = "webengine.version";
- }
-
-}
-
-// ============================================================================
-// Enum Value Types (union types for known values)
-// ============================================================================
-
-/** Known values for aspnetcore.authentication.result */
-union AspnetcoreAuthenticationResultValue {
- /** "failure" */
- failure: "failure",
- /** "none" */
- none: "none",
- /** "success" */
- success: "success",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for aspnetcore.authorization.result */
-union AspnetcoreAuthorizationResultValue {
- /** "failure" */
- failure: "failure",
- /** "success" */
- success: "success",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for aspnetcore.identity.password.check.result */
-union AspnetcoreIdentityPasswordCheckResultValue {
- /** "failure" */
- failure: "failure",
- /** "password_missing" */
- passwordMissing: "password_missing",
- /** "success" */
- success: "success",
- /** "success_rehash_needed" */
- successRehashNeeded: "success_rehash_needed",
- /** "user_missing" */
- userMissing: "user_missing",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for aspnetcore.identity.result */
-union AspnetcoreIdentityResultValue {
- /** "failure" */
- failure: "failure",
- /** "success" */
- success: "success",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for aspnetcore.identity.sign.in.result */
-union AspnetcoreIdentitySignInResultValue {
- /** "failure" */
- failure: "failure",
- /** "locked_out" */
- lockedOut: "locked_out",
- /** "not_allowed" */
- notAllowed: "not_allowed",
- /** "requires_two_factor" */
- requiresTwoFactor: "requires_two_factor",
- /** "success" */
- success: "success",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for aspnetcore.identity.sign.in.type */
-union AspnetcoreIdentitySignInTypeValue {
- /** "external" */
- external: "external",
- /** "passkey" */
- passkey: "passkey",
- /** "password" */
- password: "password",
- /** "two_factor" */
- twoFactor: "two_factor",
- /** "two_factor_authenticator" */
- twoFactorAuthenticator: "two_factor_authenticator",
- /** "two_factor_recovery_code" */
- twoFactorRecoveryCode: "two_factor_recovery_code",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for aspnetcore.identity.token.purpose */
-union AspnetcoreIdentityTokenPurposeValue {
- /** "_OTHER" */
- other: "_OTHER",
- /** "change_email" */
- changeEmail: "change_email",
- /** "change_phone_number" */
- changePhoneNumber: "change_phone_number",
- /** "email_confirmation" */
- emailConfirmation: "email_confirmation",
- /** "reset_password" */
- resetPassword: "reset_password",
- /** "two_factor" */
- twoFactor: "two_factor",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for aspnetcore.identity.token.verified */
-union AspnetcoreIdentityTokenVerifiedValue {
- /** "failure" */
- failure: "failure",
- /** "success" */
- success: "success",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for aspnetcore.identity.user.update.type */
-union AspnetcoreIdentityUserUpdateTypeValue {
- /** "_OTHER" */
- other: "_OTHER",
- /** "access_failed" */
- accessFailed: "access_failed",
- /** "add_claims" */
- addClaims: "add_claims",
- /** "add_login" */
- addLogin: "add_login",
- /** "add_password" */
- addPassword: "add_password",
- /** "add_to_roles" */
- addToRoles: "add_to_roles",
- /** "change_email" */
- changeEmail: "change_email",
- /** "change_password" */
- changePassword: "change_password",
- /** "change_phone_number" */
- changePhoneNumber: "change_phone_number",
- /** "confirm_email" */
- confirmEmail: "confirm_email",
- /** "generate_new_two_factor_recovery_codes" */
- generateNewTwoFactorRecoveryCodes: "generate_new_two_factor_recovery_codes",
- /** "password_rehash" */
- passwordRehash: "password_rehash",
- /** "redeem_two_factor_recovery_code" */
- redeemTwoFactorRecoveryCode: "redeem_two_factor_recovery_code",
- /** "remove_authentication_token" */
- removeAuthenticationToken: "remove_authentication_token",
- /** "remove_claims" */
- removeClaims: "remove_claims",
- /** "remove_from_roles" */
- removeFromRoles: "remove_from_roles",
- /** "remove_login" */
- removeLogin: "remove_login",
- /** "remove_passkey" */
- removePasskey: "remove_passkey",
- /** "remove_password" */
- removePassword: "remove_password",
- /** "replace_claim" */
- replaceClaim: "replace_claim",
- /** "reset_access_failed_count" */
- resetAccessFailedCount: "reset_access_failed_count",
- /** "reset_authenticator_key" */
- resetAuthenticatorKey: "reset_authenticator_key",
- /** "reset_password" */
- resetPassword: "reset_password",
- /** "security_stamp" */
- securityStamp: "security_stamp",
- /** "set_authentication_token" */
- setAuthenticationToken: "set_authentication_token",
- /** "set_email" */
- setEmail: "set_email",
- /** "set_lockout_enabled" */
- setLockoutEnabled: "set_lockout_enabled",
- /** "set_lockout_end_date" */
- setLockoutEndDate: "set_lockout_end_date",
- /** "set_passkey" */
- setPasskey: "set_passkey",
- /** "set_phone_number" */
- setPhoneNumber: "set_phone_number",
- /** "set_two_factor_enabled" */
- setTwoFactorEnabled: "set_two_factor_enabled",
- /** "update" */
- update: "update",
- /** "user_name" */
- userName: "user_name",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for azure.cosmosdb.connection.mode */
-union AzureCosmosdbConnectionModeValue {
- /** "direct" */
- direct: "direct",
- /** "gateway" */
- gateway: "gateway",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for azure.cosmosdb.consistency.level */
-union AzureCosmosdbConsistencyLevelValue {
- /** "BoundedStaleness" */
- boundedStaleness: "BoundedStaleness",
- /** "ConsistentPrefix" */
- consistentPrefix: "ConsistentPrefix",
- /** "Eventual" */
- eventual: "Eventual",
- /** "Session" */
- session: "Session",
- /** "Strong" */
- strong: "Strong",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for cicd.pipeline.action.name */
-union CicdPipelineActionNameValue {
- /** "BUILD" */
- build: "BUILD",
- /** "RUN" */
- run: "RUN",
- /** "SYNC" */
- sync: "SYNC",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for cicd.pipeline.result */
-union CicdPipelineResultValue {
- /** "cancellation" */
- cancellation: "cancellation",
- /** "error" */
- error: "error",
- /** "failure" */
- failure: "failure",
- /** "skip" */
- skip: "skip",
- /** "success" */
- success: "success",
- /** "timeout" */
- timeout: "timeout",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for cicd.pipeline.run.state */
-union CicdPipelineRunStateValue {
- /** "executing" */
- executing: "executing",
- /** "finalizing" */
- finalizing: "finalizing",
- /** "pending" */
- pending: "pending",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for cicd.pipeline.task.run.result */
-union CicdPipelineTaskRunResultValue {
- /** "cancellation" */
- cancellation: "cancellation",
- /** "error" */
- error: "error",
- /** "failure" */
- failure: "failure",
- /** "skip" */
- skip: "skip",
- /** "success" */
- success: "success",
- /** "timeout" */
- timeout: "timeout",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for cicd.pipeline.task.type */
-union CicdPipelineTaskTypeValue {
- /** "build" */
- build: "build",
- /** "deploy" */
- deploy: "deploy",
- /** "test" */
- test: "test",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for cicd.worker.state */
-union CicdWorkerStateValue {
- /** "available" */
- available: "available",
- /** "busy" */
- busy: "busy",
- /** "offline" */
- offline: "offline",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for cloud.platform */
-union CloudPlatformValue {
- /** "akamai_cloud.compute" */
- akamaiCloudCompute: "akamai_cloud.compute",
- /** "alibaba_cloud_ecs" */
- alibabaCloudEcs: "alibaba_cloud_ecs",
- /** "alibaba_cloud_fc" */
- alibabaCloudFc: "alibaba_cloud_fc",
- /** "alibaba_cloud_openshift" */
- alibabaCloudOpenshift: "alibaba_cloud_openshift",
- /** "aws_app_runner" */
- awsAppRunner: "aws_app_runner",
- /** "aws_ec2" */
- awsEc2: "aws_ec2",
- /** "aws_ecs" */
- awsEcs: "aws_ecs",
- /** "aws_eks" */
- awsEks: "aws_eks",
- /** "aws_elastic_beanstalk" */
- awsElasticBeanstalk: "aws_elastic_beanstalk",
- /** "aws_lambda" */
- awsLambda: "aws_lambda",
- /** "aws_openshift" */
- awsOpenshift: "aws_openshift",
- /** "azure.aks" */
- azureAks: "azure.aks",
- /** "azure.app_service" */
- azureAppService: "azure.app_service",
- /** "azure.container_apps" */
- azureContainerApps: "azure.container_apps",
- /** "azure.container_instances" */
- azureContainerInstances: "azure.container_instances",
- /** "azure.functions" */
- azureFunctions: "azure.functions",
- /** "azure.openshift" */
- azureOpenshift: "azure.openshift",
- /** "azure.vm" */
- azureVm: "azure.vm",
- /** "gcp.agent_engine" */
- gcpAgentEngine: "gcp.agent_engine",
- /** "gcp_app_engine" */
- gcpAppEngine: "gcp_app_engine",
- /** "gcp_bare_metal_solution" */
- gcpBareMetalSolution: "gcp_bare_metal_solution",
- /** "gcp_cloud_functions" */
- gcpCloudFunctions: "gcp_cloud_functions",
- /** "gcp_cloud_run" */
- gcpCloudRun: "gcp_cloud_run",
- /** "gcp_compute_engine" */
- gcpComputeEngine: "gcp_compute_engine",
- /** "gcp_kubernetes_engine" */
- gcpKubernetesEngine: "gcp_kubernetes_engine",
- /** "gcp_openshift" */
- gcpOpenshift: "gcp_openshift",
- /** "hetzner.cloud_server" */
- hetznerCloudServer: "hetzner.cloud_server",
- /** "ibm_cloud_openshift" */
- ibmCloudOpenshift: "ibm_cloud_openshift",
- /** "oracle_cloud_compute" */
- oracleCloudCompute: "oracle_cloud_compute",
- /** "oracle_cloud_oke" */
- oracleCloudOke: "oracle_cloud_oke",
- /** "tencent_cloud_cvm" */
- tencentCloudCvm: "tencent_cloud_cvm",
- /** "tencent_cloud_eks" */
- tencentCloudEks: "tencent_cloud_eks",
- /** "tencent_cloud_scf" */
- tencentCloudScf: "tencent_cloud_scf",
- /** "vultr.cloud_compute" */
- vultrCloudCompute: "vultr.cloud_compute",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for cloud.provider */
-union CloudProviderValue {
- /** "akamai_cloud" */
- akamaiCloud: "akamai_cloud",
- /** "alibaba_cloud" */
- alibabaCloud: "alibaba_cloud",
- /** "aws" */
- aws: "aws",
- /** "azure" */
- azure: "azure",
- /** "gcp" */
- gcp: "gcp",
- /** "heroku" */
- heroku: "heroku",
- /** "hetzner" */
- hetzner: "hetzner",
- /** "ibm_cloud" */
- ibmCloud: "ibm_cloud",
- /** "oracle_cloud" */
- oracleCloud: "oracle_cloud",
- /** "tencent_cloud" */
- tencentCloud: "tencent_cloud",
- /** "vultr" */
- vultr: "vultr",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for container.cpu.state */
-union ContainerCpuStateValue {
- /** "kernel" */
- kernel: "kernel",
- /** "system" */
- system: "system",
- /** "user" */
- user: "user",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for cpu.mode */
-union CpuModeValue {
- /** "system" */
- system: "system",
- /** "user" */
- user: "user",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for db.cassandra.consistency.level */
-union DbCassandraConsistencyLevelValue {
- /** "all" */
- all: "all",
- /** "any" */
- any: "any",
- /** "each_quorum" */
- eachQuorum: "each_quorum",
- /** "local_one" */
- localOne: "local_one",
- /** "local_quorum" */
- localQuorum: "local_quorum",
- /** "local_serial" */
- localSerial: "local_serial",
- /** "one" */
- one: "one",
- /** "quorum" */
- quorum: "quorum",
- /** "serial" */
- serial: "serial",
- /** "three" */
- three: "three",
- /** "two" */
- two: "two",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for db.client.connection.state */
-union DbClientConnectionStateValue {
- /** "idle" */
- idle: "idle",
- /** "used" */
- used: "used",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for db.client.connections.state */
-union DbClientConnectionsStateValue {
- /** "idle" */
- idle: "idle",
- /** "used" */
- used: "used",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for db.cosmosdb.connection.mode */
-union DbCosmosdbConnectionModeValue {
- /** "direct" */
- direct: "direct",
- /** "gateway" */
- gateway: "gateway",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for db.cosmosdb.consistency.level */
-union DbCosmosdbConsistencyLevelValue {
- /** "BoundedStaleness" */
- boundedStaleness: "BoundedStaleness",
- /** "ConsistentPrefix" */
- consistentPrefix: "ConsistentPrefix",
- /** "Eventual" */
- eventual: "Eventual",
- /** "Session" */
- session: "Session",
- /** "Strong" */
- strong: "Strong",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for db.cosmosdb.operation.type */
-union DbCosmosdbOperationTypeValue {
- /** "batch" */
- batch: "batch",
- /** "create" */
- create: "create",
- /** "delete" */
- delete: "delete",
- /** "execute" */
- execute: "execute",
- /** "execute_javascript" */
- executeJavascript: "execute_javascript",
- /** "head" */
- head: "head",
- /** "head_feed" */
- headFeed: "head_feed",
- /** "invalid" */
- invalid: "invalid",
- /** "patch" */
- patch: "patch",
- /** "query" */
- query: "query",
- /** "query_plan" */
- queryPlan: "query_plan",
- /** "read" */
- read: "read",
- /** "read_feed" */
- readFeed: "read_feed",
- /** "replace" */
- replace: "replace",
- /** "upsert" */
- upsert: "upsert",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for db.system */
-union DbSystemValue {
- /** "adabas" */
- adabas: "adabas",
- /** "cache" */
- cache: "cache",
- /** "cassandra" */
- cassandra: "cassandra",
- /** "clickhouse" */
- clickhouse: "clickhouse",
- /** "cloudscape" */
- cloudscape: "cloudscape",
- /** "cockroachdb" */
- cockroachdb: "cockroachdb",
- /** "coldfusion" */
- coldfusion: "coldfusion",
- /** "cosmosdb" */
- cosmosdb: "cosmosdb",
- /** "couchbase" */
- couchbase: "couchbase",
- /** "couchdb" */
- couchdb: "couchdb",
- /** "db2" */
- db2: "db2",
- /** "derby" */
- derby: "derby",
- /** "dynamodb" */
- dynamodb: "dynamodb",
- /** "edb" */
- edb: "edb",
- /** "elasticsearch" */
- elasticsearch: "elasticsearch",
- /** "filemaker" */
- filemaker: "filemaker",
- /** "firebird" */
- firebird: "firebird",
- /** "firstsql" */
- firstsql: "firstsql",
- /** "geode" */
- geode: "geode",
- /** "h2" */
- h2: "h2",
- /** "hanadb" */
- hanadb: "hanadb",
- /** "hbase" */
- hbase: "hbase",
- /** "hive" */
- hive: "hive",
- /** "hsqldb" */
- hsqldb: "hsqldb",
- /** "influxdb" */
- influxdb: "influxdb",
- /** "informix" */
- informix: "informix",
- /** "ingres" */
- ingres: "ingres",
- /** "instantdb" */
- instantdb: "instantdb",
- /** "interbase" */
- interbase: "interbase",
- /** "intersystems_cache" */
- intersystemsCache: "intersystems_cache",
- /** "mariadb" */
- mariadb: "mariadb",
- /** "maxdb" */
- maxdb: "maxdb",
- /** "memcached" */
- memcached: "memcached",
- /** "mongodb" */
- mongodb: "mongodb",
- /** "mssql" */
- mssql: "mssql",
- /** "mssqlcompact" */
- mssqlcompact: "mssqlcompact",
- /** "mysql" */
- mysql: "mysql",
- /** "neo4j" */
- neo4j: "neo4j",
- /** "netezza" */
- netezza: "netezza",
- /** "opensearch" */
- opensearch: "opensearch",
- /** "oracle" */
- oracle: "oracle",
- /** "other_sql" */
- otherSql: "other_sql",
- /** "pervasive" */
- pervasive: "pervasive",
- /** "pointbase" */
- pointbase: "pointbase",
- /** "postgresql" */
- postgresql: "postgresql",
- /** "progress" */
- progress: "progress",
- /** "redis" */
- redis: "redis",
- /** "redshift" */
- redshift: "redshift",
- /** "spanner" */
- spanner: "spanner",
- /** "sqlite" */
- sqlite: "sqlite",
- /** "sybase" */
- sybase: "sybase",
- /** "teradata" */
- teradata: "teradata",
- /** "trino" */
- trino: "trino",
- /** "vertica" */
- vertica: "vertica",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for db.system.name */
-union DbSystemNameValue {
- /** "actian.ingres" */
- actianIngres: "actian.ingres",
- /** "aws.dynamodb" */
- awsDynamodb: "aws.dynamodb",
- /** "aws.redshift" */
- awsRedshift: "aws.redshift",
- /** "azure.cosmosdb" */
- azureCosmosdb: "azure.cosmosdb",
- /** "cassandra" */
- cassandra: "cassandra",
- /** "clickhouse" */
- clickhouse: "clickhouse",
- /** "cockroachdb" */
- cockroachdb: "cockroachdb",
- /** "couchbase" */
- couchbase: "couchbase",
- /** "couchdb" */
- couchdb: "couchdb",
- /** "derby" */
- derby: "derby",
- /** "elasticsearch" */
- elasticsearch: "elasticsearch",
- /** "firebirdsql" */
- firebirdsql: "firebirdsql",
- /** "gcp.spanner" */
- gcpSpanner: "gcp.spanner",
- /** "geode" */
- geode: "geode",
- /** "h2database" */
- h2database: "h2database",
- /** "hbase" */
- hbase: "hbase",
- /** "hive" */
- hive: "hive",
- /** "hsqldb" */
- hsqldb: "hsqldb",
- /** "ibm.db2" */
- ibmDb2: "ibm.db2",
- /** "ibm.informix" */
- ibmInformix: "ibm.informix",
- /** "ibm.netezza" */
- ibmNetezza: "ibm.netezza",
- /** "influxdb" */
- influxdb: "influxdb",
- /** "instantdb" */
- instantdb: "instantdb",
- /** "intersystems.cache" */
- intersystemsCache: "intersystems.cache",
- /** "memcached" */
- memcached: "memcached",
- /** "mongodb" */
- mongodb: "mongodb",
- /** "neo4j" */
- neo4j: "neo4j",
- /** "opensearch" */
- opensearch: "opensearch",
- /** "oracle.db" */
- oracleDb: "oracle.db",
- /** "other_sql" */
- otherSql: "other_sql",
- /** "redis" */
- redis: "redis",
- /** "sap.hana" */
- sapHana: "sap.hana",
- /** "sap.maxdb" */
- sapMaxdb: "sap.maxdb",
- /** "softwareag.adabas" */
- softwareagAdabas: "softwareag.adabas",
- /** "sqlite" */
- sqlite: "sqlite",
- /** "teradata" */
- teradata: "teradata",
- /** "trino" */
- trino: "trino",
- /** "mariadb" */
- mariadb: "mariadb",
- /** "microsoft.sql_server" */
- microsoftSqlServer: "microsoft.sql_server",
- /** "mysql" */
- mysql: "mysql",
- /** "postgresql" */
- postgresql: "postgresql",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for deployment.status */
-union DeploymentStatusValue {
- /** "failed" */
- failed: "failed",
- /** "succeeded" */
- succeeded: "succeeded",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for faas.document.operation */
-union FaasDocumentOperationValue {
- /** "delete" */
- delete: "delete",
- /** "edit" */
- edit: "edit",
- /** "insert" */
- insert: "insert",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for faas.invoked.provider */
-union FaasInvokedProviderValue {
- /** "alibaba_cloud" */
- alibabaCloud: "alibaba_cloud",
- /** "aws" */
- aws: "aws",
- /** "azure" */
- azure: "azure",
- /** "gcp" */
- gcp: "gcp",
- /** "tencent_cloud" */
- tencentCloud: "tencent_cloud",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for faas.trigger */
-union FaasTriggerValue {
- /** "datasource" */
- datasource: "datasource",
- /** "http" */
- http: "http",
- /** "other" */
- other: "other",
- /** "pubsub" */
- pubsub: "pubsub",
- /** "timer" */
- timer: "timer",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for feature.flag.evaluation.reason */
-union FeatureFlagEvaluationReasonValue {
- /** "cached" */
- cached: "cached",
- /** "default" */
- default: "default",
- /** "disabled" */
- disabled: "disabled",
- /** "error" */
- error: "error",
- /** "split" */
- split: "split",
- /** "stale" */
- stale: "stale",
- /** "static" */
- static: "static",
- /** "targeting_match" */
- targetingMatch: "targeting_match",
- /** "unknown" */
- `unknown`: "unknown",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for feature.flag.result.reason */
-union FeatureFlagResultReasonValue {
- /** "cached" */
- cached: "cached",
- /** "default" */
- default: "default",
- /** "disabled" */
- disabled: "disabled",
- /** "error" */
- error: "error",
- /** "split" */
- split: "split",
- /** "stale" */
- stale: "stale",
- /** "static" */
- static: "static",
- /** "targeting_match" */
- targetingMatch: "targeting_match",
- /** "unknown" */
- `unknown`: "unknown",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for gen.ai.openai.request.response.format */
-union GenAiOpenaiRequestResponseFormatValue {
- /** "json_object" */
- jsonObject: "json_object",
- /** "json_schema" */
- jsonSchema: "json_schema",
- /** "text" */
- text: "text",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for gen.ai.openai.request.service.tier */
-union GenAiOpenaiRequestServiceTierValue {
- /** "auto" */
- auto: "auto",
- /** "default" */
- default: "default",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for gen.ai.operation.name */
-union GenAiOperationNameValue {
- /** "chat" */
- chat: "chat",
- /** "create_agent" */
- createAgent: "create_agent",
- /** "embeddings" */
- embeddings: "embeddings",
- /** "execute_tool" */
- executeTool: "execute_tool",
- /** "generate_content" */
- generateContent: "generate_content",
- /** "invoke_agent" */
- invokeAgent: "invoke_agent",
- /** "retrieval" */
- retrieval: "retrieval",
- /** "text_completion" */
- textCompletion: "text_completion",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for gen.ai.output.type */
-union GenAiOutputTypeValue {
- /** "image" */
- image: "image",
- /** "json" */
- json: "json",
- /** "speech" */
- speech: "speech",
- /** "text" */
- text: "text",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for gen.ai.provider.name */
-union GenAiProviderNameValue {
- /** "anthropic" */
- anthropic: "anthropic",
- /** "aws.bedrock" */
- awsBedrock: "aws.bedrock",
- /** "azure.ai.inference" */
- azureAiInference: "azure.ai.inference",
- /** "azure.ai.openai" */
- azureAiOpenai: "azure.ai.openai",
- /** "cohere" */
- cohere: "cohere",
- /** "deepseek" */
- deepseek: "deepseek",
- /** "gcp.gemini" */
- gcpGemini: "gcp.gemini",
- /** "gcp.gen_ai" */
- gcpGenAi: "gcp.gen_ai",
- /** "gcp.vertex_ai" */
- gcpVertexAi: "gcp.vertex_ai",
- /** "groq" */
- groq: "groq",
- /** "ibm.watsonx.ai" */
- ibmWatsonxAi: "ibm.watsonx.ai",
- /** "mistral_ai" */
- mistralAi: "mistral_ai",
- /** "openai" */
- openai: "openai",
- /** "perplexity" */
- perplexity: "perplexity",
- /** "x_ai" */
- xAi: "x_ai",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for gen.ai.system */
-union GenAiSystemValue {
- /** "anthropic" */
- anthropic: "anthropic",
- /** "aws.bedrock" */
- awsBedrock: "aws.bedrock",
- /** "az.ai.inference" */
- azAiInference: "az.ai.inference",
- /** "az.ai.openai" */
- azAiOpenai: "az.ai.openai",
- /** "azure.ai.inference" */
- azureAiInference: "azure.ai.inference",
- /** "azure.ai.openai" */
- azureAiOpenai: "azure.ai.openai",
- /** "cohere" */
- cohere: "cohere",
- /** "deepseek" */
- deepseek: "deepseek",
- /** "gcp.gemini" */
- gcpGemini: "gcp.gemini",
- /** "gcp.gen_ai" */
- gcpGenAi: "gcp.gen_ai",
- /** "gcp.vertex_ai" */
- gcpVertexAi: "gcp.vertex_ai",
- /** "gemini" */
- gemini: "gemini",
- /** "groq" */
- groq: "groq",
- /** "ibm.watsonx.ai" */
- ibmWatsonxAi: "ibm.watsonx.ai",
- /** "mistral_ai" */
- mistralAi: "mistral_ai",
- /** "openai" */
- openai: "openai",
- /** "perplexity" */
- perplexity: "perplexity",
- /** "vertex_ai" */
- vertexAi: "vertex_ai",
- /** "xai" */
- xai: "xai",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for gen.ai.token.type */
-union GenAiTokenTypeValue {
- /** "input" */
- input: "input",
- /** "output" */
- completion: "output",
- /** "output" */
- output: "output",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for geo.continent.code */
-union GeoContinentCodeValue {
- /** "AF" */
- af: "AF",
- /** "AN" */
- an: "AN",
- /** "AS" */
- as: "AS",
- /** "EU" */
- eu: "EU",
- /** "NA" */
- na: "NA",
- /** "OC" */
- oc: "OC",
- /** "SA" */
- sa: "SA",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for host.arch */
-union HostArchValue {
- /** "amd64" */
- amd64: "amd64",
- /** "arm32" */
- arm32: "arm32",
- /** "arm64" */
- arm64: "arm64",
- /** "ia64" */
- ia64: "ia64",
- /** "ppc32" */
- ppc32: "ppc32",
- /** "ppc64" */
- ppc64: "ppc64",
- /** "s390x" */
- s390x: "s390x",
- /** "x86" */
- x86: "x86",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for http.connection.state */
-union HttpConnectionStateValue {
- /** "active" */
- active: "active",
- /** "idle" */
- idle: "idle",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for http.flavor */
-union HttpFlavorValue {
- /** "1.0" */
- http10: "1.0",
- /** "1.1" */
- http11: "1.1",
- /** "2.0" */
- http20: "2.0",
- /** "3.0" */
- http30: "3.0",
- /** "QUIC" */
- quic: "QUIC",
- /** "SPDY" */
- spdy: "SPDY",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for http.request.method */
-union HttpRequestMethodValue {
- /** "QUERY" */
- query: "QUERY",
- /** "_OTHER" */
- other: "_OTHER",
- /** "CONNECT" */
- connect: "CONNECT",
- /** "DELETE" */
- delete: "DELETE",
- /** "GET" */
- get: "GET",
- /** "HEAD" */
- head: "HEAD",
- /** "OPTIONS" */
- options: "OPTIONS",
- /** "PATCH" */
- patch: "PATCH",
- /** "POST" */
- post: "POST",
- /** "PUT" */
- put: "PUT",
- /** "TRACE" */
- trace: "TRACE",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for hw.type */
-union HwTypeValue {
- /** "logical_disk" */
- logicalDisk: "logical_disk",
- /** "network" */
- network: "network",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for k8s.container.status.reason */
-union K8sContainerStatusReasonValue {
- /** "Completed" */
- completed: "Completed",
- /** "ContainerCannotRun" */
- containerCannotRun: "ContainerCannotRun",
- /** "ContainerCreating" */
- containerCreating: "ContainerCreating",
- /** "CrashLoopBackOff" */
- crashLoopBackOff: "CrashLoopBackOff",
- /** "CreateContainerConfigError" */
- createContainerConfigError: "CreateContainerConfigError",
- /** "ErrImagePull" */
- errImagePull: "ErrImagePull",
- /** "Error" */
- error: "Error",
- /** "ImagePullBackOff" */
- imagePullBackOff: "ImagePullBackOff",
- /** "OOMKilled" */
- oomKilled: "OOMKilled",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for k8s.container.status.state */
-union K8sContainerStatusStateValue {
- /** "running" */
- running: "running",
- /** "terminated" */
- terminated: "terminated",
- /** "waiting" */
- waiting: "waiting",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for k8s.namespace.phase */
-union K8sNamespacePhaseValue {
- /** "active" */
- active: "active",
- /** "terminating" */
- terminating: "terminating",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for k8s.node.condition.status */
-union K8sNodeConditionStatusValue {
- /** "false" */
- conditionFalse: "false",
- /** "true" */
- conditionTrue: "true",
- /** "unknown" */
- conditionUnknown: "unknown",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for k8s.node.condition.type */
-union K8sNodeConditionTypeValue {
- /** "DiskPressure" */
- diskPressure: "DiskPressure",
- /** "MemoryPressure" */
- memoryPressure: "MemoryPressure",
- /** "NetworkUnavailable" */
- networkUnavailable: "NetworkUnavailable",
- /** "PIDPressure" */
- pidPressure: "PIDPressure",
- /** "Ready" */
- ready: "Ready",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for k8s.pod.status.phase */
-union K8sPodStatusPhaseValue {
- /** "Failed" */
- failed: "Failed",
- /** "Pending" */
- pending: "Pending",
- /** "Running" */
- running: "Running",
- /** "Succeeded" */
- succeeded: "Succeeded",
- /** "Unknown" */
- `unknown`: "Unknown",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for k8s.pod.status.reason */
-union K8sPodStatusReasonValue {
- /** "Evicted" */
- evicted: "Evicted",
- /** "NodeAffinity" */
- nodeAffinity: "NodeAffinity",
- /** "NodeLost" */
- nodeLost: "NodeLost",
- /** "Shutdown" */
- shutdown: "Shutdown",
- /** "UnexpectedAdmissionError" */
- unexpectedAdmissionError: "UnexpectedAdmissionError",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for k8s.service.endpoint.address.type */
-union K8sServiceEndpointAddressTypeValue {
- /** "FQDN" */
- fqdn: "FQDN",
- /** "IPv4" */
- ipv4: "IPv4",
- /** "IPv6" */
- ipv6: "IPv6",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for k8s.service.endpoint.condition */
-union K8sServiceEndpointConditionValue {
- /** "ready" */
- ready: "ready",
- /** "serving" */
- serving: "serving",
- /** "terminating" */
- terminating: "terminating",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for k8s.service.type */
-union K8sServiceTypeValue {
- /** "ClusterIP" */
- clusterIp: "ClusterIP",
- /** "ExternalName" */
- externalName: "ExternalName",
- /** "LoadBalancer" */
- loadBalancer: "LoadBalancer",
- /** "NodePort" */
- nodePort: "NodePort",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for k8s.volume.type */
-union K8sVolumeTypeValue {
- /** "configMap" */
- configMap: "configMap",
- /** "downwardAPI" */
- downwardApi: "downwardAPI",
- /** "emptyDir" */
- emptyDir: "emptyDir",
- /** "local" */
- local: "local",
- /** "persistentVolumeClaim" */
- persistentVolumeClaim: "persistentVolumeClaim",
- /** "secret" */
- secret: "secret",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for log.iostream */
-union LogIostreamValue {
- /** "stderr" */
- stderr: "stderr",
- /** "stdout" */
- stdout: "stdout",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for mcp.method.name */
-union McpMethodNameValue {
- /** "logging/setLevel" */
- loggingSetLevel: "logging/setLevel",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for messaging.operation.type */
-union MessagingOperationTypeValue {
- /** "create" */
- create: "create",
- /** "deliver" */
- deliver: "deliver",
- /** "process" */
- process: "process",
- /** "publish" */
- publish: "publish",
- /** "receive" */
- receive: "receive",
- /** "send" */
- send: "send",
- /** "settle" */
- settle: "settle",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for messaging.rocketmq.consumption.model */
-union MessagingRocketmqConsumptionModelValue {
- /** "broadcasting" */
- broadcasting: "broadcasting",
- /** "clustering" */
- clustering: "clustering",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for messaging.rocketmq.message.type */
-union MessagingRocketmqMessageTypeValue {
- /** "delay" */
- delay: "delay",
- /** "fifo" */
- fifo: "fifo",
- /** "normal" */
- normal: "normal",
- /** "transaction" */
- transaction: "transaction",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for messaging.servicebus.disposition.status */
-union MessagingServicebusDispositionStatusValue {
- /** "abandon" */
- abandon: "abandon",
- /** "complete" */
- complete: "complete",
- /** "dead_letter" */
- deadLetter: "dead_letter",
- /** "defer" */
- defer: "defer",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for messaging.system */
-union MessagingSystemValue {
- /** "activemq" */
- activemq: "activemq",
- /** "aws.sns" */
- awsSns: "aws.sns",
- /** "aws_sqs" */
- awsSqs: "aws_sqs",
- /** "eventgrid" */
- eventgrid: "eventgrid",
- /** "eventhubs" */
- eventhubs: "eventhubs",
- /** "gcp_pubsub" */
- gcpPubsub: "gcp_pubsub",
- /** "jms" */
- jms: "jms",
- /** "kafka" */
- kafka: "kafka",
- /** "pulsar" */
- pulsar: "pulsar",
- /** "rabbitmq" */
- rabbitmq: "rabbitmq",
- /** "rocketmq" */
- rocketmq: "rocketmq",
- /** "servicebus" */
- servicebus: "servicebus",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for network.connection.state */
-union NetworkConnectionStateValue {
- /** "close_wait" */
- closeWait: "close_wait",
- /** "closed" */
- closed: "closed",
- /** "closing" */
- closing: "closing",
- /** "established" */
- established: "established",
- /** "fin_wait_1" */
- finWait1: "fin_wait_1",
- /** "fin_wait_2" */
- finWait2: "fin_wait_2",
- /** "last_ack" */
- lastAck: "last_ack",
- /** "listen" */
- listen: "listen",
- /** "syn_received" */
- synReceived: "syn_received",
- /** "syn_sent" */
- synSent: "syn_sent",
- /** "time_wait" */
- timeWait: "time_wait",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for network.connection.subtype */
-union NetworkConnectionSubtypeValue {
- /** "cdma" */
- cdma: "cdma",
- /** "cdma2000_1xrtt" */
- cdma20001xrtt: "cdma2000_1xrtt",
- /** "edge" */
- edge: "edge",
- /** "ehrpd" */
- ehrpd: "ehrpd",
- /** "evdo_0" */
- evdo0: "evdo_0",
- /** "evdo_a" */
- evdoA: "evdo_a",
- /** "evdo_b" */
- evdoB: "evdo_b",
- /** "gprs" */
- gprs: "gprs",
- /** "gsm" */
- gsm: "gsm",
- /** "hsdpa" */
- hsdpa: "hsdpa",
- /** "hspa" */
- hspa: "hspa",
- /** "hspap" */
- hspap: "hspap",
- /** "hsupa" */
- hsupa: "hsupa",
- /** "iden" */
- iden: "iden",
- /** "iwlan" */
- iwlan: "iwlan",
- /** "lte" */
- lte: "lte",
- /** "lte_ca" */
- lteCa: "lte_ca",
- /** "nr" */
- nr: "nr",
- /** "nrnsa" */
- nrnsa: "nrnsa",
- /** "td_scdma" */
- tdScdma: "td_scdma",
- /** "umts" */
- umts: "umts",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for network.connection.type */
-union NetworkConnectionTypeValue {
- /** "cell" */
- cell: "cell",
- /** "unavailable" */
- unavailable: "unavailable",
- /** "unknown" */
- `unknown`: "unknown",
- /** "wifi" */
- wifi: "wifi",
- /** "wired" */
- wired: "wired",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for network.io.direction */
-union NetworkIoDirectionValue {
- /** "receive" */
- receive: "receive",
- /** "transmit" */
- transmit: "transmit",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for openai.api.type */
-union OpenaiApiTypeValue {
- /** "chat_completions" */
- chatCompletions: "chat_completions",
- /** "responses" */
- responses: "responses",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for openai.request.service.tier */
-union OpenaiRequestServiceTierValue {
- /** "auto" */
- auto: "auto",
- /** "default" */
- default: "default",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for os.type */
-union OsTypeValue {
- /** "aix" */
- aix: "aix",
- /** "darwin" */
- darwin: "darwin",
- /** "dragonflybsd" */
- dragonflybsd: "dragonflybsd",
- /** "freebsd" */
- freebsd: "freebsd",
- /** "hpux" */
- hpux: "hpux",
- /** "linux" */
- linux: "linux",
- /** "netbsd" */
- netbsd: "netbsd",
- /** "openbsd" */
- openbsd: "openbsd",
- /** "solaris" */
- solaris: "solaris",
- /** "windows" */
- windows: "windows",
- /** "z_os" */
- zOs: "z_os",
- /** "zos" */
- zos: "zos",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for otel.component.type */
-union OtelComponentTypeValue {
- /** "batching_log_processor" */
- batchingLogProcessor: "batching_log_processor",
- /** "batching_span_processor" */
- batchingSpanProcessor: "batching_span_processor",
- /** "otlp_grpc_log_exporter" */
- otlpGrpcLogExporter: "otlp_grpc_log_exporter",
- /** "otlp_grpc_metric_exporter" */
- otlpGrpcMetricExporter: "otlp_grpc_metric_exporter",
- /** "otlp_grpc_span_exporter" */
- otlpGrpcSpanExporter: "otlp_grpc_span_exporter",
- /** "otlp_http_json_log_exporter" */
- otlpHttpJsonLogExporter: "otlp_http_json_log_exporter",
- /** "otlp_http_json_metric_exporter" */
- otlpHttpJsonMetricExporter: "otlp_http_json_metric_exporter",
- /** "otlp_http_json_span_exporter" */
- otlpHttpJsonSpanExporter: "otlp_http_json_span_exporter",
- /** "otlp_http_log_exporter" */
- otlpHttpLogExporter: "otlp_http_log_exporter",
- /** "otlp_http_metric_exporter" */
- otlpHttpMetricExporter: "otlp_http_metric_exporter",
- /** "otlp_http_span_exporter" */
- otlpHttpSpanExporter: "otlp_http_span_exporter",
- /** "periodic_metric_reader" */
- periodicMetricReader: "periodic_metric_reader",
- /** "prometheus_http_text_metric_exporter" */
- prometheusHttpTextMetricExporter: "prometheus_http_text_metric_exporter",
- /** "simple_log_processor" */
- simpleLogProcessor: "simple_log_processor",
- /** "simple_span_processor" */
- simpleSpanProcessor: "simple_span_processor",
- /** "zipkin_http_span_exporter" */
- zipkinHttpSpanExporter: "zipkin_http_span_exporter",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for otel.span.parent.origin */
-union OtelSpanParentOriginValue {
- /** "local" */
- local: "local",
- /** "none" */
- none: "none",
- /** "remote" */
- remote: "remote",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for otel.span.sampling.result */
-union OtelSpanSamplingResultValue {
- /** "DROP" */
- drop: "DROP",
- /** "RECORD_AND_SAMPLE" */
- recordAndSample: "RECORD_AND_SAMPLE",
- /** "RECORD_ONLY" */
- recordOnly: "RECORD_ONLY",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for process.context.switch.type */
-union ProcessContextSwitchTypeValue {
- /** "involuntary" */
- involuntary: "involuntary",
- /** "voluntary" */
- voluntary: "voluntary",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for process.cpu.state */
-union ProcessCpuStateValue {
- /** "system" */
- system: "system",
- /** "user" */
- user: "user",
- /** "wait" */
- wait: "wait",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for process.paging.fault.type */
-union ProcessPagingFaultTypeValue {
- /** "major" */
- major: "major",
- /** "minor" */
- minor: "minor",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for process.state */
-union ProcessStateValue {
- /** "defunct" */
- defunct: "defunct",
- /** "running" */
- running: "running",
- /** "sleeping" */
- sleeping: "sleeping",
- /** "stopped" */
- stopped: "stopped",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for profile.frame.type */
-union ProfileFrameTypeValue {
- /** "beam" */
- beam: "beam",
- /** "cpython" */
- cpython: "cpython",
- /** "dotnet" */
- dotnet: "dotnet",
- /** "go" */
- go: "go",
- /** "jvm" */
- jvm: "jvm",
- /** "kernel" */
- kernel: "kernel",
- /** "native" */
- native: "native",
- /** "perl" */
- perl: "perl",
- /** "php" */
- php: "php",
- /** "ruby" */
- ruby: "ruby",
- /** "rust" */
- rust: "rust",
- /** "v8js" */
- v8js: "v8js",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for rpc.connect.rpc.error.code */
-union RpcConnectRpcErrorCodeValue {
- /** "aborted" */
- aborted: "aborted",
- /** "already_exists" */
- alreadyExists: "already_exists",
- /** "cancelled" */
- cancelled: "cancelled",
- /** "data_loss" */
- dataLoss: "data_loss",
- /** "deadline_exceeded" */
- deadlineExceeded: "deadline_exceeded",
- /** "failed_precondition" */
- failedPrecondition: "failed_precondition",
- /** "internal" */
- internal: "internal",
- /** "invalid_argument" */
- invalidArgument: "invalid_argument",
- /** "not_found" */
- notFound: "not_found",
- /** "out_of_range" */
- outOfRange: "out_of_range",
- /** "permission_denied" */
- permissionDenied: "permission_denied",
- /** "resource_exhausted" */
- resourceExhausted: "resource_exhausted",
- /** "unauthenticated" */
- unauthenticated: "unauthenticated",
- /** "unavailable" */
- unavailable: "unavailable",
- /** "unimplemented" */
- unimplemented: "unimplemented",
- /** "unknown" */
- `unknown`: "unknown",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for rpc.message.type */
-union RpcMessageTypeValue {
- /** "RECEIVED" */
- received: "RECEIVED",
- /** "SENT" */
- sent: "SENT",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for rpc.system */
-union RpcSystemValue {
- /** "apache_dubbo" */
- apacheDubbo: "apache_dubbo",
- /** "connect_rpc" */
- connectRpc: "connect_rpc",
- /** "dotnet_wcf" */
- dotnetWcf: "dotnet_wcf",
- /** "grpc" */
- grpc: "grpc",
- /** "java_rmi" */
- javaRmi: "java_rmi",
- /** "jsonrpc" */
- jsonrpc: "jsonrpc",
- /** "onc_rpc" */
- oncRpc: "onc_rpc",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for rpc.system.name */
-union RpcSystemNameValue {
- /** "connectrpc" */
- connectrpc: "connectrpc",
- /** "dubbo" */
- dubbo: "dubbo",
- /** "grpc" */
- grpc: "grpc",
- /** "jsonrpc" */
- jsonrpc: "jsonrpc",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for service.criticality */
-union ServiceCriticalityValue {
- /** "critical" */
- critical: "critical",
- /** "high" */
- high: "high",
- /** "low" */
- low: "low",
- /** "medium" */
- medium: "medium",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for system.cpu.state */
-union SystemCpuStateValue {
- /** "idle" */
- idle: "idle",
- /** "interrupt" */
- interrupt: "interrupt",
- /** "iowait" */
- iowait: "iowait",
- /** "nice" */
- nice: "nice",
- /** "steal" */
- steal: "steal",
- /** "system" */
- system: "system",
- /** "user" */
- user: "user",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for system.filesystem.state */
-union SystemFilesystemStateValue {
- /** "free" */
- free: "free",
- /** "reserved" */
- reserved: "reserved",
- /** "used" */
- used: "used",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for system.filesystem.type */
-union SystemFilesystemTypeValue {
- /** "exfat" */
- exfat: "exfat",
- /** "ext4" */
- ext4: "ext4",
- /** "fat32" */
- fat32: "fat32",
- /** "hfsplus" */
- hfsplus: "hfsplus",
- /** "ntfs" */
- ntfs: "ntfs",
- /** "refs" */
- refs: "refs",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for system.memory.linux.slab.state */
-union SystemMemoryLinuxSlabStateValue {
- /** "reclaimable" */
- reclaimable: "reclaimable",
- /** "unreclaimable" */
- unreclaimable: "unreclaimable",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for system.memory.state */
-union SystemMemoryStateValue {
- /** "buffers" */
- buffers: "buffers",
- /** "cached" */
- cached: "cached",
- /** "free" */
- free: "free",
- /** "shared" */
- shared: "shared",
- /** "used" */
- used: "used",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for system.network.state */
-union SystemNetworkStateValue {
- /** "close" */
- close: "close",
- /** "close_wait" */
- closeWait: "close_wait",
- /** "closing" */
- closing: "closing",
- /** "delete" */
- delete: "delete",
- /** "established" */
- established: "established",
- /** "fin_wait_1" */
- finWait1: "fin_wait_1",
- /** "fin_wait_2" */
- finWait2: "fin_wait_2",
- /** "last_ack" */
- lastAck: "last_ack",
- /** "listen" */
- listen: "listen",
- /** "syn_recv" */
- synRecv: "syn_recv",
- /** "syn_sent" */
- synSent: "syn_sent",
- /** "time_wait" */
- timeWait: "time_wait",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for system.paging.direction */
-union SystemPagingDirectionValue {
- /** "in" */
- in: "in",
- /** "out" */
- out: "out",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for system.paging.fault.type */
-union SystemPagingFaultTypeValue {
- /** "major" */
- major: "major",
- /** "minor" */
- minor: "minor",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for system.paging.state */
-union SystemPagingStateValue {
- /** "free" */
- free: "free",
- /** "used" */
- used: "used",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for system.paging.type */
-union SystemPagingTypeValue {
- /** "major" */
- major: "major",
- /** "minor" */
- minor: "minor",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for system.process.status */
-union SystemProcessStatusValue {
- /** "defunct" */
- defunct: "defunct",
- /** "running" */
- running: "running",
- /** "sleeping" */
- sleeping: "sleeping",
- /** "stopped" */
- stopped: "stopped",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for system.processes.status */
-union SystemProcessesStatusValue {
- /** "defunct" */
- defunct: "defunct",
- /** "running" */
- running: "running",
- /** "sleeping" */
- sleeping: "sleeping",
- /** "stopped" */
- stopped: "stopped",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for test.case.result.status */
-union TestCaseResultStatusValue {
- /** "fail" */
- fail: "fail",
- /** "pass" */
- pass: "pass",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for test.suite.run.status */
-union TestSuiteRunStatusValue {
- /** "aborted" */
- aborted: "aborted",
- /** "failure" */
- failure: "failure",
- /** "in_progress" */
- inProgress: "in_progress",
- /** "skipped" */
- skipped: "skipped",
- /** "success" */
- success: "success",
- /** "timed_out" */
- timedOut: "timed_out",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for tls.protocol.name */
-union TlsProtocolNameValue {
- /** "ssl" */
- ssl: "ssl",
- /** "tls" */
- tls: "tls",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for user.agent.synthetic.type */
-union UserAgentSyntheticTypeValue {
- /** "bot" */
- bot: "bot",
- /** "test" */
- test: "test",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for v8js.heap.space.name */
-union V8jsHeapSpaceNameValue {
- /** "code_space" */
- codeSpace: "code_space",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for vcs.change.state */
-union VcsChangeStateValue {
- /** "closed" */
- closed: "closed",
- /** "merged" */
- merged: "merged",
- /** "open" */
- open: "open",
- /** "wip" */
- wip: "wip",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for vcs.line.change.type */
-union VcsLineChangeTypeValue {
- /** "added" */
- added: "added",
- /** "removed" */
- removed: "removed",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for vcs.provider.name */
-union VcsProviderNameValue {
- /** "bitbucket" */
- bitbucket: "bitbucket",
- /** "gitea" */
- gitea: "gitea",
- /** "github" */
- github: "github",
- /** "gitlab" */
- gitlab: "gitlab",
- /** "gittea" */
- gittea: "gittea",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for vcs.ref.base.type */
-union VcsRefBaseTypeValue {
- /** "branch" */
- branch: "branch",
- /** "tag" */
- tag: "tag",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for vcs.ref.head.type */
-union VcsRefHeadTypeValue {
- /** "branch" */
- branch: "branch",
- /** "tag" */
- tag: "tag",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for vcs.ref.type */
-union VcsRefTypeValue {
- /** "branch" */
- branch: "branch",
- /** "tag" */
- tag: "tag",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for vcs.repository.ref.type */
-union VcsRepositoryRefTypeValue {
- /** "branch" */
- branch: "branch",
- /** "tag" */
- tag: "tag",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for vcs.revision.delta.direction */
-union VcsRevisionDeltaDirectionValue {
- /** "ahead" */
- ahead: "ahead",
- /** "behind" */
- behind: "behind",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for aspnetcore.diagnostics.exception.result */
-union AspnetcoreDiagnosticsExceptionResultValue {
- /** "aborted" */
- aborted: "aborted",
- /** "handled" */
- handled: "handled",
- /** "skipped" */
- skipped: "skipped",
- /** "unhandled" */
- unhandled: "unhandled",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for aspnetcore.rate.limiting.result */
-union AspnetcoreRateLimitingResultValue {
- /** "acquired" */
- acquired: "acquired",
- /** "endpoint_limiter" */
- endpointLimiter: "endpoint_limiter",
- /** "global_limiter" */
- globalLimiter: "global_limiter",
- /** "request_canceled" */
- requestCanceled: "request_canceled",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for aspnetcore.routing.match.status */
-union AspnetcoreRoutingMatchStatusValue {
- /** "failure" */
- failure: "failure",
- /** "success" */
- success: "success",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for dotnet.gc.heap.generation */
-union DotnetGcHeapGenerationValue {
- /** "gen0" */
- gen0: "gen0",
- /** "gen1" */
- gen1: "gen1",
- /** "gen2" */
- gen2: "gen2",
- /** "loh" */
- loh: "loh",
- /** "poh" */
- poh: "poh",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for error.type */
-union ErrorTypeValue {
- /** "_OTHER" */
- other: "_OTHER",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for network.transport */
-union NetworkTransportValue {
- /** "pipe" */
- pipe: "pipe",
- /** "quic" */
- quic: "quic",
- /** "tcp" */
- tcp: "tcp",
- /** "udp" */
- udp: "udp",
- /** "unix" */
- unix: "unix",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for network.type */
-union NetworkTypeValue {
- /** "ipv4" */
- ipv4: "ipv4",
- /** "ipv6" */
- ipv6: "ipv6",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for otel.status.code */
-union OtelStatusCodeValue {
- /** "ERROR" */
- error: "ERROR",
- /** "OK" */
- ok: "OK",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for signalr.connection.status */
-union SignalrConnectionStatusValue {
- /** "app_shutdown" */
- appShutdown: "app_shutdown",
- /** "normal_closure" */
- normalClosure: "normal_closure",
- /** "timeout" */
- timeout: "timeout",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for signalr.transport */
-union SignalrTransportValue {
- /** "long_polling" */
- longPolling: "long_polling",
- /** "server_sent_events" */
- serverSentEvents: "server_sent_events",
- /** "web_sockets" */
- webSockets: "web_sockets",
- /** Allow unknown/custom values */
- string,
-}
-
-/** Known values for telemetry.sdk.language */
-union TelemetrySdkLanguageValue {
- /** "cpp" */
- cpp: "cpp",
- /** "dotnet" */
- dotnet: "dotnet",
- /** "erlang" */
- erlang: "erlang",
- /** "go" */
- go: "go",
- /** "java" */
- java: "java",
- /** "nodejs" */
- nodejs: "nodejs",
- /** "php" */
- php: "php",
- /** "python" */
- python: "python",
- /** "ruby" */
- ruby: "ruby",
- /** "rust" */
- rust: "rust",
- /** "swift" */
- swift: "swift",
- /** "webjs" */
- webjs: "webjs",
- /** Allow unknown/custom values */
- string,
-}
-
-// ============================================================================
-// artifact.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for artifact.* */
-model ArtifactAttributes {
- /** artifact.attestation.filename */
- @encodedName("application/json", "artifact.attestation.filename")
- attestationFilename?: string;
-
- /** artifact.attestation.hash */
- @encodedName("application/json", "artifact.attestation.hash")
- attestationHash?: string;
-
- /** artifact.attestation.id */
- @encodedName("application/json", "artifact.attestation.id")
- attestationId?: string;
-
- /** artifact.filename */
- @encodedName("application/json", "artifact.filename")
- filename?: string;
-
- /** artifact.hash */
- @encodedName("application/json", "artifact.hash")
- hash?: string;
-
- /** artifact.purl */
- @encodedName("application/json", "artifact.purl")
- purl?: string;
-
- /** artifact.version */
- @encodedName("application/json", "artifact.version")
- version?: string;
-
-}
-
-// ============================================================================
-// aspnetcore.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for aspnetcore.* */
-model AspnetcoreAttributes {
- /** aspnetcore.authentication.result */
- @encodedName("application/json", "aspnetcore.authentication.result")
- authenticationResult?: AspnetcoreAuthenticationResultValue;
-
- /** aspnetcore.authentication.scheme */
- @encodedName("application/json", "aspnetcore.authentication.scheme")
- authenticationScheme?: string;
-
- /** aspnetcore.authorization.policy */
- @encodedName("application/json", "aspnetcore.authorization.policy")
- authorizationPolicy?: string;
-
- /** aspnetcore.authorization.result */
- @encodedName("application/json", "aspnetcore.authorization.result")
- authorizationResult?: AspnetcoreAuthorizationResultValue;
-
- /** aspnetcore.diagnostics.exception.result */
- @encodedName("application/json", "aspnetcore.diagnostics.exception.result")
- diagnosticsExceptionResult?: AspnetcoreDiagnosticsExceptionResultValue;
-
- /** aspnetcore.diagnostics.handler.type */
- @encodedName("application/json", "aspnetcore.diagnostics.handler.type")
- diagnosticsHandlerType?: string;
-
- /** aspnetcore.identity.error_code */
- @encodedName("application/json", "aspnetcore.identity.error_code")
- identityErrorCode?: string;
-
- /** aspnetcore.identity.password_check_result */
- @encodedName("application/json", "aspnetcore.identity.password_check_result")
- identityPasswordCheckResult?: string;
-
- /** aspnetcore.identity.result */
- @encodedName("application/json", "aspnetcore.identity.result")
- identityResult?: AspnetcoreIdentityResultValue;
-
- /** aspnetcore.identity.sign_in.result */
- @encodedName("application/json", "aspnetcore.identity.sign_in.result")
- identitySignInResult?: string;
-
- /** aspnetcore.identity.sign_in.type */
- @encodedName("application/json", "aspnetcore.identity.sign_in.type")
- identitySignInType?: string;
-
- /** aspnetcore.identity.token_purpose */
- @encodedName("application/json", "aspnetcore.identity.token_purpose")
- identityTokenPurpose?: string;
-
- /** aspnetcore.identity.token_verified */
- @encodedName("application/json", "aspnetcore.identity.token_verified")
- identityTokenVerified?: string;
-
- /** aspnetcore.identity.user_type */
- @encodedName("application/json", "aspnetcore.identity.user_type")
- identityUserType?: string;
-
- /** aspnetcore.identity.user.update_type */
- @encodedName("application/json", "aspnetcore.identity.user.update_type")
- identityUserUpdateType?: string;
-
- /** aspnetcore.memory_pool.owner */
- @encodedName("application/json", "aspnetcore.memory_pool.owner")
- memoryPoolOwner?: string;
-
- /** aspnetcore.rate_limiting.policy */
- @encodedName("application/json", "aspnetcore.rate_limiting.policy")
- rateLimitingPolicy?: string;
-
- /** aspnetcore.rate_limiting.result */
- @encodedName("application/json", "aspnetcore.rate_limiting.result")
- rateLimitingResult?: string;
-
- /** aspnetcore.request.is_unhandled */
- @encodedName("application/json", "aspnetcore.request.is_unhandled")
- requestIsUnhandled?: string;
-
- /** aspnetcore.routing.is_fallback */
- @encodedName("application/json", "aspnetcore.routing.is_fallback")
- routingIsFallback?: string;
-
- /** aspnetcore.routing.match_status */
- @encodedName("application/json", "aspnetcore.routing.match_status")
- routingMatchStatus?: string;
-
- /** aspnetcore.sign_in.is_persistent */
- @encodedName("application/json", "aspnetcore.sign_in.is_persistent")
- signInIsPersistent?: string;
-
- /** aspnetcore.user.is_authenticated */
- @encodedName("application/json", "aspnetcore.user.is_authenticated")
- userIsAuthenticated?: string;
-
-}
-
-// ============================================================================
-// azure.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for azure.* */
-model AzureAttributes {
- /** azure.client.id */
- @encodedName("application/json", "azure.client.id")
- clientId?: string;
-
- /** azure.cosmosdb.connection.mode */
- @encodedName("application/json", "azure.cosmosdb.connection.mode")
- cosmosdbConnectionMode?: AzureCosmosdbConnectionModeValue;
-
- /** azure.cosmosdb.consistency.level */
- @encodedName("application/json", "azure.cosmosdb.consistency.level")
- cosmosdbConsistencyLevel?: AzureCosmosdbConsistencyLevelValue;
-
- /** azure.cosmosdb.operation.contacted_regions */
- @encodedName("application/json", "azure.cosmosdb.operation.contacted_regions")
- cosmosdbOperationContactedRegions?: string;
-
- /** azure.cosmosdb.operation.request_charge */
- @encodedName("application/json", "azure.cosmosdb.operation.request_charge")
- cosmosdbOperationRequestCharge?: string;
-
- /** azure.cosmosdb.request.body.size */
- @encodedName("application/json", "azure.cosmosdb.request.body.size")
- cosmosdbRequestBodySize?: string;
-
- /** azure.cosmosdb.response.sub_status_code */
- @encodedName("application/json", "azure.cosmosdb.response.sub_status_code")
- cosmosdbResponseSubStatusCode?: string;
-
- /** azure.resource_provider.namespace */
- @encodedName("application/json", "azure.resource_provider.namespace")
- resourceProviderNamespace?: string;
-
- /** azure.service.request.id */
- @encodedName("application/json", "azure.service.request.id")
- serviceRequestId?: string;
-
-}
-
-// ============================================================================
-// browser.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for browser.* */
-model BrowserAttributes {
- /** browser.brands */
- @encodedName("application/json", "browser.brands")
- brands?: string;
-
- /** browser.language */
- @encodedName("application/json", "browser.language")
- language?: string;
-
- /** browser.mobile */
- @encodedName("application/json", "browser.mobile")
- mobile?: string;
-
- /** browser.platform */
- @encodedName("application/json", "browser.platform")
- platform?: string;
-
-}
-
-// ============================================================================
-// cicd.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for cicd.* */
-model CicdAttributes {
- /** cicd.pipeline.action.name */
- @encodedName("application/json", "cicd.pipeline.action.name")
- pipelineActionName?: CicdPipelineActionNameValue;
-
- /** cicd.pipeline.name */
- @encodedName("application/json", "cicd.pipeline.name")
- pipelineName?: string;
-
- /** cicd.pipeline.result */
- @encodedName("application/json", "cicd.pipeline.result")
- pipelineResult?: CicdPipelineResultValue;
-
- /** cicd.pipeline.run.id */
- @encodedName("application/json", "cicd.pipeline.run.id")
- pipelineRunId?: string;
-
- /** cicd.pipeline.run.state */
- @encodedName("application/json", "cicd.pipeline.run.state")
- pipelineRunState?: CicdPipelineRunStateValue;
-
- /** cicd.pipeline.run.url.full */
- @encodedName("application/json", "cicd.pipeline.run.url.full")
- pipelineRunUrlFull?: string;
-
- /** cicd.pipeline.task.name */
- @encodedName("application/json", "cicd.pipeline.task.name")
- pipelineTaskName?: string;
-
- /** cicd.pipeline.task.run.id */
- @encodedName("application/json", "cicd.pipeline.task.run.id")
- pipelineTaskRunId?: string;
-
- /** cicd.pipeline.task.run.result */
- @encodedName("application/json", "cicd.pipeline.task.run.result")
- pipelineTaskRunResult?: CicdPipelineTaskRunResultValue;
-
- /** cicd.pipeline.task.run.url.full */
- @encodedName("application/json", "cicd.pipeline.task.run.url.full")
- pipelineTaskRunUrlFull?: string;
-
- /** cicd.pipeline.task.type */
- @encodedName("application/json", "cicd.pipeline.task.type")
- pipelineTaskType?: CicdPipelineTaskTypeValue;
-
- /** cicd.system.component */
- @encodedName("application/json", "cicd.system.component")
- systemComponent?: string;
-
- /** cicd.worker.id */
- @encodedName("application/json", "cicd.worker.id")
- workerId?: string;
-
- /** cicd.worker.name */
- @encodedName("application/json", "cicd.worker.name")
- workerName?: string;
-
- /** cicd.worker.state */
- @encodedName("application/json", "cicd.worker.state")
- workerState?: CicdWorkerStateValue;
-
- /** cicd.worker.url.full */
- @encodedName("application/json", "cicd.worker.url.full")
- workerUrlFull?: string;
-
-}
-
-// ============================================================================
-// client.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for client.* */
-model ClientAttributes {
- /** client.address */
- @encodedName("application/json", "client.address")
- address?: string;
-
- /** client.port */
- @encodedName("application/json", "client.port")
- port?: string;
-
-}
-
-// ============================================================================
-// cloud.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for cloud.* */
-model CloudAttributes {
- /** cloud.account.id */
- @encodedName("application/json", "cloud.account.id")
- accountId?: string;
-
- /** cloud.availability_zone */
- @encodedName("application/json", "cloud.availability_zone")
- availabilityZone?: string;
-
- /** cloud.platform */
- @encodedName("application/json", "cloud.platform")
- platform?: CloudPlatformValue;
-
- /** cloud.provider */
- @encodedName("application/json", "cloud.provider")
- provider?: CloudProviderValue;
-
- /** cloud.region */
- @encodedName("application/json", "cloud.region")
- region?: string;
-
- /** cloud.resource_id */
- @encodedName("application/json", "cloud.resource_id")
- resourceId?: string;
-
-}
-
-// ============================================================================
-// cloudevents.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for cloudevents.* */
-model CloudeventsAttributes {
- /** cloudevents.event_id */
- @encodedName("application/json", "cloudevents.event_id")
- eventId?: string;
-
- /** cloudevents.event_source */
- @encodedName("application/json", "cloudevents.event_source")
- eventSource?: string;
-
- /** cloudevents.event_spec_version */
- @encodedName("application/json", "cloudevents.event_spec_version")
- eventSpecVersion?: string;
-
- /** cloudevents.event_subject */
- @encodedName("application/json", "cloudevents.event_subject")
- eventSubject?: string;
-
- /** cloudevents.event_type */
- @encodedName("application/json", "cloudevents.event_type")
- eventType?: string;
-
-}
-
-// ============================================================================
-// cloudfoundry.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for cloudfoundry.* */
-model CloudfoundryAttributes {
- /** cloudfoundry.app.id */
- @encodedName("application/json", "cloudfoundry.app.id")
- appId?: string;
-
- /** cloudfoundry.app.instance.id */
- @encodedName("application/json", "cloudfoundry.app.instance.id")
- appInstanceId?: string;
-
- /** cloudfoundry.app.name */
- @encodedName("application/json", "cloudfoundry.app.name")
- appName?: string;
-
- /** cloudfoundry.org.id */
- @encodedName("application/json", "cloudfoundry.org.id")
- orgId?: string;
-
- /** cloudfoundry.org.name */
- @encodedName("application/json", "cloudfoundry.org.name")
- orgName?: string;
-
- /** cloudfoundry.process.id */
- @encodedName("application/json", "cloudfoundry.process.id")
- processId?: string;
-
- /** cloudfoundry.process.type */
- @encodedName("application/json", "cloudfoundry.process.type")
- processType?: string;
-
- /** cloudfoundry.space.id */
- @encodedName("application/json", "cloudfoundry.space.id")
- spaceId?: string;
-
- /** cloudfoundry.space.name */
- @encodedName("application/json", "cloudfoundry.space.name")
- spaceName?: string;
-
- /** cloudfoundry.system.id */
- @encodedName("application/json", "cloudfoundry.system.id")
- systemId?: string;
-
- /** cloudfoundry.system.instance.id */
- @encodedName("application/json", "cloudfoundry.system.instance.id")
- systemInstanceId?: string;
-
-}
-
-// ============================================================================
-// code.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for code.* */
-model CodeAttributes {
- /** code.column */
- @encodedName("application/json", "code.column")
- column?: string;
-
- /** code.column.number */
- @encodedName("application/json", "code.column.number")
- columnNumber?: string;
-
- /** code.file.path */
- @encodedName("application/json", "code.file.path")
- filePath?: string;
-
- /** code.filepath */
- @encodedName("application/json", "code.filepath")
- filepath?: string;
-
- /** code.function */
- @encodedName("application/json", "code.function")
- function?: string;
-
- /** code.function.name */
- @encodedName("application/json", "code.function.name")
- functionName?: string;
-
- /** code.line.number */
- @encodedName("application/json", "code.line.number")
- lineNumber?: string;
-
- /** code.lineno */
- @encodedName("application/json", "code.lineno")
- lineno?: string;
-
- /** code.namespace */
- @encodedName("application/json", "code.namespace")
- `namespace`?: string;
-
- /** code.stacktrace */
- @encodedName("application/json", "code.stacktrace")
- stacktrace?: string;
-
-}
-
-// ============================================================================
-// container.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for container.* */
-model ContainerAttributes {
- /** container.command */
- @encodedName("application/json", "container.command")
- command?: string;
-
- /** container.command_args */
- @encodedName("application/json", "container.command_args")
- commandArgs?: string;
-
- /** container.command_line */
- @encodedName("application/json", "container.command_line")
- commandLine?: string;
-
- /** container.cpu.state */
- @encodedName("application/json", "container.cpu.state")
- cpuState?: ContainerCpuStateValue;
-
- /** container.csi.plugin.name */
- @encodedName("application/json", "container.csi.plugin.name")
- csiPluginName?: string;
-
- /** container.csi.volume.id */
- @encodedName("application/json", "container.csi.volume.id")
- csiVolumeId?: string;
-
- /** container.id */
- @encodedName("application/json", "container.id")
- id?: string;
-
- /** container.image.id */
- @encodedName("application/json", "container.image.id")
- imageId?: string;
-
- /** container.image.name */
- @encodedName("application/json", "container.image.name")
- imageName?: string;
-
- /** container.image.repo_digests */
- @encodedName("application/json", "container.image.repo_digests")
- imageRepoDigests?: string;
-
- /** container.image.tags */
- @encodedName("application/json", "container.image.tags")
- imageTags?: string;
-
- /** container.name */
- @encodedName("application/json", "container.name")
- name?: string;
-
- /** container.runtime */
- @encodedName("application/json", "container.runtime")
- runtime?: string;
-
- /** container.runtime.description */
- @encodedName("application/json", "container.runtime.description")
- runtimeDescription?: string;
-
- /** container.runtime.name */
- @encodedName("application/json", "container.runtime.name")
- runtimeName?: string;
-
- /** container.runtime.version */
- @encodedName("application/json", "container.runtime.version")
- runtimeVersion?: string;
-
-}
-
-// ============================================================================
-// db.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for db.* */
-model DbAttributes {
- /** db.cassandra.consistency_level */
- @encodedName("application/json", "db.cassandra.consistency_level")
- cassandraConsistencyLevel?: string;
-
- /** db.cassandra.coordinator.dc */
- @encodedName("application/json", "db.cassandra.coordinator.dc")
- cassandraCoordinatorDc?: string;
-
- /** db.cassandra.coordinator.id */
- @encodedName("application/json", "db.cassandra.coordinator.id")
- cassandraCoordinatorId?: string;
-
- /** db.cassandra.idempotence */
- @encodedName("application/json", "db.cassandra.idempotence")
- cassandraIdempotence?: string;
-
- /** db.cassandra.page_size */
- @encodedName("application/json", "db.cassandra.page_size")
- cassandraPageSize?: int64;
-
- /** db.cassandra.speculative_execution_count */
- @encodedName("application/json", "db.cassandra.speculative_execution_count")
- cassandraSpeculativeExecutionCount?: int64;
-
- /** db.cassandra.table */
- @encodedName("application/json", "db.cassandra.table")
- cassandraTable?: string;
-
- /** db.client.connection.pool.name */
- @encodedName("application/json", "db.client.connection.pool.name")
- clientConnectionPoolName?: string;
-
- /** db.client.connection.state */
- @encodedName("application/json", "db.client.connection.state")
- clientConnectionState?: DbClientConnectionStateValue;
-
- /** db.client.connections.pool.name */
- @encodedName("application/json", "db.client.connections.pool.name")
- clientConnectionsPoolName?: string;
-
- /** db.client.connections.state */
- @encodedName("application/json", "db.client.connections.state")
- clientConnectionsState?: DbClientConnectionsStateValue;
-
- /** db.collection.name */
- @encodedName("application/json", "db.collection.name")
- collectionName?: string;
-
- /** db.connection_string */
- @encodedName("application/json", "db.connection_string")
- connectionString?: string;
-
- /** db.cosmosdb.client_id */
- @encodedName("application/json", "db.cosmosdb.client_id")
- cosmosdbClientId?: string;
-
- /** db.cosmosdb.connection_mode */
- @encodedName("application/json", "db.cosmosdb.connection_mode")
- cosmosdbConnectionMode?: string;
-
- /** db.cosmosdb.consistency_level */
- @encodedName("application/json", "db.cosmosdb.consistency_level")
- cosmosdbConsistencyLevel?: string;
-
- /** db.cosmosdb.container */
- @encodedName("application/json", "db.cosmosdb.container")
- cosmosdbContainer?: string;
-
- /** db.cosmosdb.operation_type */
- @encodedName("application/json", "db.cosmosdb.operation_type")
- cosmosdbOperationType?: string;
-
- /** db.cosmosdb.regions_contacted */
- @encodedName("application/json", "db.cosmosdb.regions_contacted")
- cosmosdbRegionsContacted?: string;
-
- /** db.cosmosdb.request_charge */
- @encodedName("application/json", "db.cosmosdb.request_charge")
- cosmosdbRequestCharge?: string;
-
- /** db.cosmosdb.request_content_length */
- @encodedName("application/json", "db.cosmosdb.request_content_length")
- cosmosdbRequestContentLength?: int64;
-
- /** db.cosmosdb.status_code */
- @encodedName("application/json", "db.cosmosdb.status_code")
- cosmosdbStatusCode?: string;
-
- /** db.cosmosdb.sub_status_code */
- @encodedName("application/json", "db.cosmosdb.sub_status_code")
- cosmosdbSubStatusCode?: string;
-
- /** db.elasticsearch.cluster.name */
- @encodedName("application/json", "db.elasticsearch.cluster.name")
- elasticsearchClusterName?: string;
-
- /** db.elasticsearch.node.name */
- @encodedName("application/json", "db.elasticsearch.node.name")
- elasticsearchNodeName?: string;
-
- /** db.instance.id */
- @encodedName("application/json", "db.instance.id")
- instanceId?: string;
-
- /** db.jdbc.driver_classname */
- @encodedName("application/json", "db.jdbc.driver_classname")
- jdbcDriverClassname?: string;
-
- /** db.mongodb.collection */
- @encodedName("application/json", "db.mongodb.collection")
- mongodbCollection?: string;
-
- /** db.mssql.instance_name */
- @encodedName("application/json", "db.mssql.instance_name")
- mssqlInstanceName?: string;
-
- /** db.name */
- @encodedName("application/json", "db.name")
- name?: string;
-
- /** db.namespace */
- @encodedName("application/json", "db.namespace")
- `namespace`?: string;
-
- /** db.operation */
- @encodedName("application/json", "db.operation")
- operation?: string;
-
- /** db.operation.batch.size */
- @encodedName("application/json", "db.operation.batch.size")
- operationBatchSize?: string;
-
- /** db.operation.name */
- @encodedName("application/json", "db.operation.name")
- operationName?: string;
-
- /** db.query.summary */
- @encodedName("application/json", "db.query.summary")
- querySummary?: string;
-
- /** db.query.text */
- @encodedName("application/json", "db.query.text")
- queryText?: string;
-
- /** db.redis.database_index */
- @encodedName("application/json", "db.redis.database_index")
- redisDatabaseIndex?: string;
-
- /** db.response.returned_rows */
- @encodedName("application/json", "db.response.returned_rows")
- responseReturnedRows?: string;
-
- /** db.response.status_code */
- @encodedName("application/json", "db.response.status_code")
- responseStatusCode?: string;
-
- /** db.sql.table */
- @encodedName("application/json", "db.sql.table")
- sqlTable?: string;
-
- /** db.statement */
- @encodedName("application/json", "db.statement")
- statement?: string;
-
- /** db.stored_procedure.name */
- @encodedName("application/json", "db.stored_procedure.name")
- storedProcedureName?: string;
-
- /** db.system */
- @encodedName("application/json", "db.system")
- system?: DbSystemValue;
-
- /** db.system.name */
- @encodedName("application/json", "db.system.name")
- systemName?: DbSystemNameValue;
-
- /** db.user */
- @encodedName("application/json", "db.user")
- user?: string;
-
-}
-
-// ============================================================================
-// deployment.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for deployment.* */
-model DeploymentAttributes {
- /** deployment.environment */
- @encodedName("application/json", "deployment.environment")
- environment?: string;
-
- /** deployment.environment.name */
- @encodedName("application/json", "deployment.environment.name")
- environmentName?: string;
-
- /** deployment.id */
- @encodedName("application/json", "deployment.id")
- id?: string;
-
- /** deployment.name */
- @encodedName("application/json", "deployment.name")
- name?: string;
-
- /** deployment.status */
- @encodedName("application/json", "deployment.status")
- status?: DeploymentStatusValue;
-
-}
-
-// ============================================================================
-// dns.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for dns.* */
-model DnsAttributes {
- /** dns.answers */
- @encodedName("application/json", "dns.answers")
- answers?: string;
-
- /** dns.question.name */
- @encodedName("application/json", "dns.question.name")
- questionName?: string;
-
-}
-
-// ============================================================================
-// dotnet.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for dotnet.* */
-model DotnetAttributes {
- /** dotnet.gc.heap.generation */
- @encodedName("application/json", "dotnet.gc.heap.generation")
- gcHeapGeneration?: DotnetGcHeapGenerationValue;
-
-}
-
-// ============================================================================
-// elasticsearch.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for elasticsearch.* */
-model ElasticsearchAttributes {
- /** elasticsearch.node.name */
- @encodedName("application/json", "elasticsearch.node.name")
- nodeName?: string;
-
-}
-
-// ============================================================================
-// enduser.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for enduser.* */
-model EnduserAttributes {
- /** enduser.id */
- @encodedName("application/json", "enduser.id")
- id?: string;
-
- /** enduser.pseudo.id */
- @encodedName("application/json", "enduser.pseudo.id")
- pseudoId?: string;
-
- /** enduser.role */
- @encodedName("application/json", "enduser.role")
- role?: string;
-
- /** enduser.scope */
- @encodedName("application/json", "enduser.scope")
- scope?: string;
-
-}
-
-// ============================================================================
-// error.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for error.* */
-model ErrorAttributes {
- /** error.message */
- @encodedName("application/json", "error.message")
- message?: string;
-
- /** error.type */
- @encodedName("application/json", "error.type")
- type?: ErrorTypeValue;
-
-}
-
-// ============================================================================
-// exception.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for exception.* */
-model ExceptionAttributes {
- /** exception.escaped */
- @encodedName("application/json", "exception.escaped")
- escaped?: string;
-
- /** exception.message */
- @encodedName("application/json", "exception.message")
- message?: string;
-
- /** exception.stacktrace */
- @encodedName("application/json", "exception.stacktrace")
- stacktrace?: string;
-
- /** exception.type */
- @encodedName("application/json", "exception.type")
- type?: string;
-
-}
-
-// ============================================================================
-// faas.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for faas.* */
-model FaasAttributes {
- /** faas.coldstart */
- @encodedName("application/json", "faas.coldstart")
- coldstart?: string;
-
- /** faas.cron */
- @encodedName("application/json", "faas.cron")
- cron?: string;
-
- /** faas.document.collection */
- @encodedName("application/json", "faas.document.collection")
- documentCollection?: string;
-
- /** faas.document.name */
- @encodedName("application/json", "faas.document.name")
- documentName?: string;
-
- /** faas.document.operation */
- @encodedName("application/json", "faas.document.operation")
- documentOperation?: FaasDocumentOperationValue;
-
- /** faas.document.time */
- @encodedName("application/json", "faas.document.time")
- documentTime?: string;
-
- /** faas.instance */
- @encodedName("application/json", "faas.instance")
- instance?: string;
-
- /** faas.invocation_id */
- @encodedName("application/json", "faas.invocation_id")
- invocationId?: string;
-
- /** faas.invoked_name */
- @encodedName("application/json", "faas.invoked_name")
- invokedName?: string;
-
- /** faas.invoked_provider */
- @encodedName("application/json", "faas.invoked_provider")
- invokedProvider?: string;
-
- /** faas.invoked_region */
- @encodedName("application/json", "faas.invoked_region")
- invokedRegion?: string;
-
- /** faas.max_memory */
- @encodedName("application/json", "faas.max_memory")
- maxMemory?: string;
-
- /** faas.name */
- @encodedName("application/json", "faas.name")
- name?: string;
-
- /** faas.time */
- @encodedName("application/json", "faas.time")
- time?: string;
-
- /** faas.trigger */
- @encodedName("application/json", "faas.trigger")
- trigger?: FaasTriggerValue;
-
- /** faas.version */
- @encodedName("application/json", "faas.version")
- version?: string;
-
-}
-
-// ============================================================================
-// feature_flag.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for feature_flag.* */
-model FeatureFlagAttributes {
- /** feature_flag.context.id */
- @encodedName("application/json", "feature_flag.context.id")
- contextId?: string;
-
- /** feature_flag.error.message */
- @encodedName("application/json", "feature_flag.error.message")
- errorMessage?: string;
-
- /** feature_flag.evaluation.error.message */
- @encodedName("application/json", "feature_flag.evaluation.error.message")
- evaluationErrorMessage?: string;
-
- /** feature_flag.evaluation.reason */
- @encodedName("application/json", "feature_flag.evaluation.reason")
- evaluationReason?: string;
-
- /** feature_flag.key */
- @encodedName("application/json", "feature_flag.key")
- key?: string;
-
- /** feature_flag.provider.name */
- @encodedName("application/json", "feature_flag.provider.name")
- providerName?: string;
-
- /** feature_flag.result.reason */
- @encodedName("application/json", "feature_flag.result.reason")
- resultReason?: string;
-
- /** feature_flag.result.value */
- @encodedName("application/json", "feature_flag.result.value")
- resultValue?: string;
-
- /** feature_flag.result.variant */
- @encodedName("application/json", "feature_flag.result.variant")
- resultVariant?: string;
-
- /** feature_flag.set.id */
- @encodedName("application/json", "feature_flag.set.id")
- setId?: string;
-
- /** feature_flag.variant */
- @encodedName("application/json", "feature_flag.variant")
- variant?: string;
-
- /** feature_flag.version */
- @encodedName("application/json", "feature_flag.version")
- version?: string;
-
-}
-
-// ============================================================================
-// file.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for file.* */
-model FileAttributes {
- /** file.accessed */
- @encodedName("application/json", "file.accessed")
- accessed?: string;
-
- /** file.attributes */
- @encodedName("application/json", "file.attributes")
- attributes?: string;
-
- /** file.changed */
- @encodedName("application/json", "file.changed")
- changed?: string;
-
- /** file.created */
- @encodedName("application/json", "file.created")
- created?: string;
-
- /** file.directory */
- @encodedName("application/json", "file.directory")
- directory?: string;
-
- /** file.extension */
- @encodedName("application/json", "file.extension")
- extension?: string;
-
- /** file.fork_name */
- @encodedName("application/json", "file.fork_name")
- forkName?: string;
-
- /** file.group.id */
- @encodedName("application/json", "file.group.id")
- groupId?: string;
-
- /** file.group.name */
- @encodedName("application/json", "file.group.name")
- groupName?: string;
-
- /** file.inode */
- @encodedName("application/json", "file.inode")
- inode?: string;
-
- /** file.mode */
- @encodedName("application/json", "file.mode")
- mode?: string;
-
- /** file.modified */
- @encodedName("application/json", "file.modified")
- modified?: string;
-
- /** file.name */
- @encodedName("application/json", "file.name")
- name?: string;
-
- /** file.owner.id */
- @encodedName("application/json", "file.owner.id")
- ownerId?: string;
-
- /** file.owner.name */
- @encodedName("application/json", "file.owner.name")
- ownerName?: string;
-
- /** file.path */
- @encodedName("application/json", "file.path")
- path?: string;
-
- /** file.size */
- @encodedName("application/json", "file.size")
- size?: string;
-
- /** file.symbolic_link.target_path */
- @encodedName("application/json", "file.symbolic_link.target_path")
- symbolicLinkTargetPath?: string;
-
-}
-
-// ============================================================================
-// gen_ai.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for gen_ai.* */
-model GenAiAttributes {
- /** gen_ai.agent.description */
- @encodedName("application/json", "gen_ai.agent.description")
- agentDescription?: string;
-
- /** gen_ai.agent.id */
- @encodedName("application/json", "gen_ai.agent.id")
- agentId?: string;
-
- /** gen_ai.agent.name */
- @encodedName("application/json", "gen_ai.agent.name")
- agentName?: string;
-
- /** gen_ai.agent.version */
- @encodedName("application/json", "gen_ai.agent.version")
- agentVersion?: string;
-
- /** gen_ai.completion */
- @encodedName("application/json", "gen_ai.completion")
- completion?: string;
-
- /** gen_ai.conversation.id */
- @encodedName("application/json", "gen_ai.conversation.id")
- conversationId?: string;
-
- /** gen_ai.data_source.id */
- @encodedName("application/json", "gen_ai.data_source.id")
- dataSourceId?: string;
-
- /** gen_ai.embeddings.dimension.count */
- @encodedName("application/json", "gen_ai.embeddings.dimension.count")
- embeddingsDimensionCount?: string;
-
- /** gen_ai.evaluation.explanation */
- @encodedName("application/json", "gen_ai.evaluation.explanation")
- evaluationExplanation?: string;
-
- /** gen_ai.evaluation.name */
- @encodedName("application/json", "gen_ai.evaluation.name")
- evaluationName?: string;
-
- /** gen_ai.evaluation.score.label */
- @encodedName("application/json", "gen_ai.evaluation.score.label")
- evaluationScoreLabel?: string;
-
- /** gen_ai.evaluation.score.value */
- @encodedName("application/json", "gen_ai.evaluation.score.value")
- evaluationScoreValue?: string;
-
- /** gen_ai.input.messages */
- @encodedName("application/json", "gen_ai.input.messages")
- inputMessages?: string;
-
- /** gen_ai.openai.request.response_format */
- @encodedName("application/json", "gen_ai.openai.request.response_format")
- openaiRequestResponseFormat?: string;
-
- /** gen_ai.openai.request.seed */
- @encodedName("application/json", "gen_ai.openai.request.seed")
- openaiRequestSeed?: string;
-
- /** gen_ai.openai.request.service_tier */
- @encodedName("application/json", "gen_ai.openai.request.service_tier")
- openaiRequestServiceTier?: string;
-
- /** gen_ai.openai.response.service_tier */
- @encodedName("application/json", "gen_ai.openai.response.service_tier")
- openaiResponseServiceTier?: string;
-
- /** gen_ai.openai.response.system_fingerprint */
- @encodedName("application/json", "gen_ai.openai.response.system_fingerprint")
- openaiResponseSystemFingerprint?: string;
-
- /** gen_ai.operation.name */
- @encodedName("application/json", "gen_ai.operation.name")
- operationName?: string;
-
- /** gen_ai.output.messages */
- @encodedName("application/json", "gen_ai.output.messages")
- outputMessages?: string;
-
- /** gen_ai.output.type */
- @encodedName("application/json", "gen_ai.output.type")
- outputType?: string;
-
- /** gen_ai.prompt */
- @encodedName("application/json", "gen_ai.prompt")
- prompt?: string;
-
- /** gen_ai.prompt.name */
- @encodedName("application/json", "gen_ai.prompt.name")
- promptName?: string;
-
- /** gen_ai.provider.name */
- @encodedName("application/json", "gen_ai.provider.name")
- providerName?: string;
-
- /** gen_ai.request.choice.count */
- @encodedName("application/json", "gen_ai.request.choice.count")
- requestChoiceCount?: string;
-
- /** gen_ai.request.encoding_formats */
- @encodedName("application/json", "gen_ai.request.encoding_formats")
- requestEncodingFormats?: string;
-
- /** gen_ai.request.frequency_penalty */
- @encodedName("application/json", "gen_ai.request.frequency_penalty")
- requestFrequencyPenalty?: string;
-
- /** gen_ai.request.max_tokens */
- @encodedName("application/json", "gen_ai.request.max_tokens")
- requestMaxTokens?: int64;
-
- /** gen_ai.request.model */
- @encodedName("application/json", "gen_ai.request.model")
- requestModel?: string;
-
- /** gen_ai.request.presence_penalty */
- @encodedName("application/json", "gen_ai.request.presence_penalty")
- requestPresencePenalty?: string;
-
- /** gen_ai.request.seed */
- @encodedName("application/json", "gen_ai.request.seed")
- requestSeed?: string;
-
- /** gen_ai.request.stop_sequences */
- @encodedName("application/json", "gen_ai.request.stop_sequences")
- requestStopSequences?: string;
-
- /** gen_ai.request.temperature */
- @encodedName("application/json", "gen_ai.request.temperature")
- requestTemperature?: string;
-
- /** gen_ai.request.top_k */
- @encodedName("application/json", "gen_ai.request.top_k")
- requestTopK?: string;
-
- /** gen_ai.request.top_p */
- @encodedName("application/json", "gen_ai.request.top_p")
- requestTopP?: string;
-
- /** gen_ai.response.finish_reasons */
- @encodedName("application/json", "gen_ai.response.finish_reasons")
- responseFinishReasons?: string;
-
- /** gen_ai.response.id */
- @encodedName("application/json", "gen_ai.response.id")
- responseId?: string;
-
- /** gen_ai.response.model */
- @encodedName("application/json", "gen_ai.response.model")
- responseModel?: string;
-
- /** gen_ai.retrieval.documents */
- @encodedName("application/json", "gen_ai.retrieval.documents")
- retrievalDocuments?: string;
-
- /** gen_ai.retrieval.query.text */
- @encodedName("application/json", "gen_ai.retrieval.query.text")
- retrievalQueryText?: string;
-
- /** gen_ai.system */
- @encodedName("application/json", "gen_ai.system")
- system?: string;
-
- /** gen_ai.system_instructions */
- @encodedName("application/json", "gen_ai.system_instructions")
- systemInstructions?: string;
-
- /** gen_ai.token.type */
- @encodedName("application/json", "gen_ai.token.type")
- tokenType?: string;
-
- /** gen_ai.tool.call.arguments */
- @encodedName("application/json", "gen_ai.tool.call.arguments")
- toolCallArguments?: string;
-
- /** gen_ai.tool.call.id */
- @encodedName("application/json", "gen_ai.tool.call.id")
- toolCallId?: string;
-
- /** gen_ai.tool.call.result */
- @encodedName("application/json", "gen_ai.tool.call.result")
- toolCallResult?: string;
-
- /** gen_ai.tool.definitions */
- @encodedName("application/json", "gen_ai.tool.definitions")
- toolDefinitions?: string;
-
- /** gen_ai.tool.description */
- @encodedName("application/json", "gen_ai.tool.description")
- toolDescription?: string;
-
- /** gen_ai.tool.name */
- @encodedName("application/json", "gen_ai.tool.name")
- toolName?: string;
-
- /** gen_ai.tool.type */
- @encodedName("application/json", "gen_ai.tool.type")
- toolType?: string;
-
- /** gen_ai.usage.cache_creation.input_tokens */
- @encodedName("application/json", "gen_ai.usage.cache_creation.input_tokens")
- usageCacheCreationInputTokens?: int64;
-
- /** gen_ai.usage.cache_read.input_tokens */
- @encodedName("application/json", "gen_ai.usage.cache_read.input_tokens")
- usageCacheReadInputTokens?: int64;
-
- /** gen_ai.usage.completion_tokens */
- @encodedName("application/json", "gen_ai.usage.completion_tokens")
- usageCompletionTokens?: int64;
-
- /** gen_ai.usage.input_tokens */
- @encodedName("application/json", "gen_ai.usage.input_tokens")
- usageInputTokens?: int64;
-
- /** gen_ai.usage.output_tokens */
- @encodedName("application/json", "gen_ai.usage.output_tokens")
- usageOutputTokens?: int64;
-
- /** gen_ai.usage.prompt_tokens */
- @encodedName("application/json", "gen_ai.usage.prompt_tokens")
- usagePromptTokens?: int64;
-
-}
-
-// ============================================================================
-// geo.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for geo.* */
-model GeoAttributes {
- /** geo.continent.code */
- @encodedName("application/json", "geo.continent.code")
- continentCode?: GeoContinentCodeValue;
-
- /** geo.country.iso_code */
- @encodedName("application/json", "geo.country.iso_code")
- countryIsoCode?: string;
-
- /** geo.locality.name */
- @encodedName("application/json", "geo.locality.name")
- localityName?: string;
-
- /** geo.location.lat */
- @encodedName("application/json", "geo.location.lat")
- locationLat?: string;
-
- /** geo.location.lon */
- @encodedName("application/json", "geo.location.lon")
- locationLon?: string;
-
- /** geo.postal_code */
- @encodedName("application/json", "geo.postal_code")
- postalCode?: string;
-
- /** geo.region.iso_code */
- @encodedName("application/json", "geo.region.iso_code")
- regionIsoCode?: string;
-
-}
-
-// ============================================================================
-// host.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for host.* */
-model HostAttributes {
- /** host.arch */
- @encodedName("application/json", "host.arch")
- arch?: HostArchValue;
-
- /** host.cpu.cache.l2.size */
- @encodedName("application/json", "host.cpu.cache.l2.size")
- cpuCacheL2Size?: string;
-
- /** host.cpu.family */
- @encodedName("application/json", "host.cpu.family")
- cpuFamily?: string;
-
- /** host.cpu.model.id */
- @encodedName("application/json", "host.cpu.model.id")
- cpuModelId?: string;
-
- /** host.cpu.model.name */
- @encodedName("application/json", "host.cpu.model.name")
- cpuModelName?: string;
-
- /** host.cpu.stepping */
- @encodedName("application/json", "host.cpu.stepping")
- cpuStepping?: string;
-
- /** host.cpu.vendor.id */
- @encodedName("application/json", "host.cpu.vendor.id")
- cpuVendorId?: string;
-
- /** host.id */
- @encodedName("application/json", "host.id")
- id?: string;
-
- /** host.image.id */
- @encodedName("application/json", "host.image.id")
- imageId?: string;
-
- /** host.image.name */
- @encodedName("application/json", "host.image.name")
- imageName?: string;
-
- /** host.image.version */
- @encodedName("application/json", "host.image.version")
- imageVersion?: string;
-
- /** host.ip */
- @encodedName("application/json", "host.ip")
- ip?: string;
-
- /** host.mac */
- @encodedName("application/json", "host.mac")
- mac?: string;
-
- /** host.name */
- @encodedName("application/json", "host.name")
- name?: string;
-
- /** host.type */
- @encodedName("application/json", "host.type")
- type?: string;
-
-}
-
-// ============================================================================
-// http.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for http.* */
-model HttpAttributes {
- /** http.client_ip */
- @encodedName("application/json", "http.client_ip")
- clientIp?: string;
-
- /** http.connection.state */
- @encodedName("application/json", "http.connection.state")
- connectionState?: HttpConnectionStateValue;
-
- /** http.flavor */
- @encodedName("application/json", "http.flavor")
- flavor?: HttpFlavorValue;
-
- /** http.host */
- @encodedName("application/json", "http.host")
- host?: string;
-
- /** http.method */
- @encodedName("application/json", "http.method")
- method?: string;
-
- /** http.request_content_length */
- @encodedName("application/json", "http.request_content_length")
- requestContentLength?: int64;
-
- /** http.request_content_length_uncompressed */
- @encodedName("application/json", "http.request_content_length_uncompressed")
- requestContentLengthUncompressed?: string;
-
- /** http.request.body.size */
- @encodedName("application/json", "http.request.body.size")
- requestBodySize?: string;
-
- /** http.request.method */
- @encodedName("application/json", "http.request.method")
- requestMethod?: HttpRequestMethodValue;
-
- /** http.request.method_original */
- @encodedName("application/json", "http.request.method_original")
- requestMethodOriginal?: string;
-
- /** http.request.resend_count */
- @encodedName("application/json", "http.request.resend_count")
- requestResendCount?: int64;
-
- /** http.request.size */
- @encodedName("application/json", "http.request.size")
- requestSize?: string;
-
- /** http.response_content_length */
- @encodedName("application/json", "http.response_content_length")
- responseContentLength?: int64;
-
- /** http.response_content_length_uncompressed */
- @encodedName("application/json", "http.response_content_length_uncompressed")
- responseContentLengthUncompressed?: string;
-
- /** http.response.body.size */
- @encodedName("application/json", "http.response.body.size")
- responseBodySize?: string;
-
- /** http.response.size */
- @encodedName("application/json", "http.response.size")
- responseSize?: string;
-
- /** http.response.status_code */
- @encodedName("application/json", "http.response.status_code")
- responseStatusCode?: string;
-
- /** http.route */
- @encodedName("application/json", "http.route")
- route?: string;
-
- /** http.scheme */
- @encodedName("application/json", "http.scheme")
- scheme?: string;
-
- /** http.server_name */
- @encodedName("application/json", "http.server_name")
- serverName?: string;
-
- /** http.status_code */
- @encodedName("application/json", "http.status_code")
- statusCode?: string;
-
- /** http.target */
- @encodedName("application/json", "http.target")
- target?: string;
-
- /** http.url */
- @encodedName("application/json", "http.url")
- url?: string;
-
- /** http.user_agent */
- @encodedName("application/json", "http.user_agent")
- userAgent?: string;
-
-}
-
-// ============================================================================
-// k8s.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for k8s.* */
-model K8sAttributes {
- /** k8s.cluster.name */
- @encodedName("application/json", "k8s.cluster.name")
- clusterName?: string;
-
- /** k8s.cluster.uid */
- @encodedName("application/json", "k8s.cluster.uid")
- clusterUid?: string;
-
- /** k8s.container.name */
- @encodedName("application/json", "k8s.container.name")
- containerName?: string;
-
- /** k8s.container.restart_count */
- @encodedName("application/json", "k8s.container.restart_count")
- containerRestartCount?: int64;
-
- /** k8s.container.status.last_terminated_reason */
- @encodedName("application/json", "k8s.container.status.last_terminated_reason")
- containerStatusLastTerminatedReason?: string;
-
- /** k8s.container.status.reason */
- @encodedName("application/json", "k8s.container.status.reason")
- containerStatusReason?: K8sContainerStatusReasonValue;
-
- /** k8s.container.status.state */
- @encodedName("application/json", "k8s.container.status.state")
- containerStatusState?: K8sContainerStatusStateValue;
-
- /** k8s.cronjob.name */
- @encodedName("application/json", "k8s.cronjob.name")
- cronjobName?: string;
-
- /** k8s.cronjob.uid */
- @encodedName("application/json", "k8s.cronjob.uid")
- cronjobUid?: string;
-
- /** k8s.daemonset.name */
- @encodedName("application/json", "k8s.daemonset.name")
- daemonsetName?: string;
-
- /** k8s.daemonset.uid */
- @encodedName("application/json", "k8s.daemonset.uid")
- daemonsetUid?: string;
-
- /** k8s.deployment.name */
- @encodedName("application/json", "k8s.deployment.name")
- deploymentName?: string;
-
- /** k8s.deployment.uid */
- @encodedName("application/json", "k8s.deployment.uid")
- deploymentUid?: string;
-
- /** k8s.hpa.metric.type */
- @encodedName("application/json", "k8s.hpa.metric.type")
- hpaMetricType?: string;
-
- /** k8s.hpa.name */
- @encodedName("application/json", "k8s.hpa.name")
- hpaName?: string;
-
- /** k8s.hpa.scaletargetref.api_version */
- @encodedName("application/json", "k8s.hpa.scaletargetref.api_version")
- hpaScaletargetrefApiVersion?: string;
-
- /** k8s.hpa.scaletargetref.kind */
- @encodedName("application/json", "k8s.hpa.scaletargetref.kind")
- hpaScaletargetrefKind?: string;
-
- /** k8s.hpa.scaletargetref.name */
- @encodedName("application/json", "k8s.hpa.scaletargetref.name")
- hpaScaletargetrefName?: string;
-
- /** k8s.hpa.uid */
- @encodedName("application/json", "k8s.hpa.uid")
- hpaUid?: string;
-
- /** k8s.hugepage.size */
- @encodedName("application/json", "k8s.hugepage.size")
- hugepageSize?: string;
-
- /** k8s.job.name */
- @encodedName("application/json", "k8s.job.name")
- jobName?: string;
-
- /** k8s.job.uid */
- @encodedName("application/json", "k8s.job.uid")
- jobUid?: string;
-
- /** k8s.namespace.name */
- @encodedName("application/json", "k8s.namespace.name")
- namespaceName?: string;
-
- /** k8s.namespace.phase */
- @encodedName("application/json", "k8s.namespace.phase")
- namespacePhase?: K8sNamespacePhaseValue;
-
- /** k8s.node.condition.status */
- @encodedName("application/json", "k8s.node.condition.status")
- nodeConditionStatus?: K8sNodeConditionStatusValue;
-
- /** k8s.node.condition.type */
- @encodedName("application/json", "k8s.node.condition.type")
- nodeConditionType?: K8sNodeConditionTypeValue;
-
- /** k8s.node.name */
- @encodedName("application/json", "k8s.node.name")
- nodeName?: string;
-
- /** k8s.node.uid */
- @encodedName("application/json", "k8s.node.uid")
- nodeUid?: string;
-
- /** k8s.pod.hostname */
- @encodedName("application/json", "k8s.pod.hostname")
- podHostname?: string;
-
- /** k8s.pod.ip */
- @encodedName("application/json", "k8s.pod.ip")
- podIp?: string;
-
- /** k8s.pod.name */
- @encodedName("application/json", "k8s.pod.name")
- podName?: string;
-
- /** k8s.pod.start_time */
- @encodedName("application/json", "k8s.pod.start_time")
- podStartTime?: string;
-
- /** k8s.pod.status.phase */
- @encodedName("application/json", "k8s.pod.status.phase")
- podStatusPhase?: K8sPodStatusPhaseValue;
-
- /** k8s.pod.status.reason */
- @encodedName("application/json", "k8s.pod.status.reason")
- podStatusReason?: K8sPodStatusReasonValue;
-
- /** k8s.pod.uid */
- @encodedName("application/json", "k8s.pod.uid")
- podUid?: string;
-
- /** k8s.replicaset.name */
- @encodedName("application/json", "k8s.replicaset.name")
- replicasetName?: string;
-
- /** k8s.replicaset.uid */
- @encodedName("application/json", "k8s.replicaset.uid")
- replicasetUid?: string;
-
- /** k8s.replicationcontroller.name */
- @encodedName("application/json", "k8s.replicationcontroller.name")
- replicationcontrollerName?: string;
-
- /** k8s.replicationcontroller.uid */
- @encodedName("application/json", "k8s.replicationcontroller.uid")
- replicationcontrollerUid?: string;
-
- /** k8s.resourcequota.name */
- @encodedName("application/json", "k8s.resourcequota.name")
- resourcequotaName?: string;
-
- /** k8s.resourcequota.resource_name */
- @encodedName("application/json", "k8s.resourcequota.resource_name")
- resourcequotaResourceName?: string;
-
- /** k8s.resourcequota.uid */
- @encodedName("application/json", "k8s.resourcequota.uid")
- resourcequotaUid?: string;
-
- /** k8s.service.endpoint.address_type */
- @encodedName("application/json", "k8s.service.endpoint.address_type")
- serviceEndpointAddressType?: string;
-
- /** k8s.service.endpoint.condition */
- @encodedName("application/json", "k8s.service.endpoint.condition")
- serviceEndpointCondition?: K8sServiceEndpointConditionValue;
-
- /** k8s.service.endpoint.zone */
- @encodedName("application/json", "k8s.service.endpoint.zone")
- serviceEndpointZone?: string;
-
- /** k8s.service.name */
- @encodedName("application/json", "k8s.service.name")
- serviceName?: string;
-
- /** k8s.service.publish_not_ready_addresses */
- @encodedName("application/json", "k8s.service.publish_not_ready_addresses")
- servicePublishNotReadyAddresses?: string;
-
- /** k8s.service.traffic_distribution */
- @encodedName("application/json", "k8s.service.traffic_distribution")
- serviceTrafficDistribution?: string;
-
- /** k8s.service.type */
- @encodedName("application/json", "k8s.service.type")
- serviceType?: K8sServiceTypeValue;
-
- /** k8s.service.uid */
- @encodedName("application/json", "k8s.service.uid")
- serviceUid?: string;
-
- /** k8s.statefulset.name */
- @encodedName("application/json", "k8s.statefulset.name")
- statefulsetName?: string;
-
- /** k8s.statefulset.uid */
- @encodedName("application/json", "k8s.statefulset.uid")
- statefulsetUid?: string;
-
- /** k8s.storageclass.name */
- @encodedName("application/json", "k8s.storageclass.name")
- storageclassName?: string;
-
- /** k8s.volume.name */
- @encodedName("application/json", "k8s.volume.name")
- volumeName?: string;
-
- /** k8s.volume.type */
- @encodedName("application/json", "k8s.volume.type")
- volumeType?: K8sVolumeTypeValue;
-
-}
-
-// ============================================================================
-// log.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for log.* */
-model LogAttributes {
- /** log.file.name */
- @encodedName("application/json", "log.file.name")
- fileName?: string;
-
- /** log.file.name_resolved */
- @encodedName("application/json", "log.file.name_resolved")
- fileNameResolved?: string;
-
- /** log.file.path */
- @encodedName("application/json", "log.file.path")
- filePath?: string;
-
- /** log.file.path_resolved */
- @encodedName("application/json", "log.file.path_resolved")
- filePathResolved?: string;
-
- /** log.iostream */
- @encodedName("application/json", "log.iostream")
- iostream?: LogIostreamValue;
-
- /** log.record.original */
- @encodedName("application/json", "log.record.original")
- recordOriginal?: string;
-
- /** log.record.uid */
- @encodedName("application/json", "log.record.uid")
- recordUid?: string;
-
-}
-
-// ============================================================================
-// messaging.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for messaging.* */
-model MessagingAttributes {
- /** messaging.batch.message_count */
- @encodedName("application/json", "messaging.batch.message_count")
- batchMessageCount?: int64;
-
- /** messaging.client.id */
- @encodedName("application/json", "messaging.client.id")
- clientId?: string;
-
- /** messaging.consumer.group.name */
- @encodedName("application/json", "messaging.consumer.group.name")
- consumerGroupName?: string;
-
- /** messaging.destination_publish.anonymous */
- @encodedName("application/json", "messaging.destination_publish.anonymous")
- destinationPublishAnonymous?: string;
-
- /** messaging.destination_publish.name */
- @encodedName("application/json", "messaging.destination_publish.name")
- destinationPublishName?: string;
-
- /** messaging.destination.anonymous */
- @encodedName("application/json", "messaging.destination.anonymous")
- destinationAnonymous?: string;
-
- /** messaging.destination.name */
- @encodedName("application/json", "messaging.destination.name")
- destinationName?: string;
-
- /** messaging.destination.partition.id */
- @encodedName("application/json", "messaging.destination.partition.id")
- destinationPartitionId?: string;
-
- /** messaging.destination.subscription.name */
- @encodedName("application/json", "messaging.destination.subscription.name")
- destinationSubscriptionName?: string;
-
- /** messaging.destination.template */
- @encodedName("application/json", "messaging.destination.template")
- destinationTemplate?: string;
-
- /** messaging.destination.temporary */
- @encodedName("application/json", "messaging.destination.temporary")
- destinationTemporary?: string;
-
- /** messaging.eventhubs.consumer.group */
- @encodedName("application/json", "messaging.eventhubs.consumer.group")
- eventhubsConsumerGroup?: string;
-
- /** messaging.eventhubs.message.enqueued_time */
- @encodedName("application/json", "messaging.eventhubs.message.enqueued_time")
- eventhubsMessageEnqueuedTime?: string;
-
- /** messaging.gcp_pubsub.message.ack_deadline */
- @encodedName("application/json", "messaging.gcp_pubsub.message.ack_deadline")
- gcpPubsubMessageAckDeadline?: string;
-
- /** messaging.gcp_pubsub.message.ack_id */
- @encodedName("application/json", "messaging.gcp_pubsub.message.ack_id")
- gcpPubsubMessageAckId?: string;
-
- /** messaging.gcp_pubsub.message.delivery_attempt */
- @encodedName("application/json", "messaging.gcp_pubsub.message.delivery_attempt")
- gcpPubsubMessageDeliveryAttempt?: string;
-
- /** messaging.gcp_pubsub.message.ordering_key */
- @encodedName("application/json", "messaging.gcp_pubsub.message.ordering_key")
- gcpPubsubMessageOrderingKey?: string;
-
- /** messaging.kafka.consumer.group */
- @encodedName("application/json", "messaging.kafka.consumer.group")
- kafkaConsumerGroup?: string;
-
- /** messaging.kafka.destination.partition */
- @encodedName("application/json", "messaging.kafka.destination.partition")
- kafkaDestinationPartition?: string;
-
- /** messaging.kafka.message.key */
- @encodedName("application/json", "messaging.kafka.message.key")
- kafkaMessageKey?: string;
-
- /** messaging.kafka.message.offset */
- @encodedName("application/json", "messaging.kafka.message.offset")
- kafkaMessageOffset?: string;
-
- /** messaging.kafka.message.tombstone */
- @encodedName("application/json", "messaging.kafka.message.tombstone")
- kafkaMessageTombstone?: string;
-
- /** messaging.kafka.offset */
- @encodedName("application/json", "messaging.kafka.offset")
- kafkaOffset?: string;
-
- /** messaging.message.body.size */
- @encodedName("application/json", "messaging.message.body.size")
- messageBodySize?: string;
-
- /** messaging.message.conversation_id */
- @encodedName("application/json", "messaging.message.conversation_id")
- messageConversationId?: string;
-
- /** messaging.message.envelope.size */
- @encodedName("application/json", "messaging.message.envelope.size")
- messageEnvelopeSize?: string;
-
- /** messaging.message.id */
- @encodedName("application/json", "messaging.message.id")
- messageId?: string;
-
- /** messaging.operation */
- @encodedName("application/json", "messaging.operation")
- operation?: string;
-
- /** messaging.operation.name */
- @encodedName("application/json", "messaging.operation.name")
- operationName?: string;
-
- /** messaging.operation.type */
- @encodedName("application/json", "messaging.operation.type")
- operationType?: MessagingOperationTypeValue;
-
- /** messaging.rabbitmq.destination.routing_key */
- @encodedName("application/json", "messaging.rabbitmq.destination.routing_key")
- rabbitmqDestinationRoutingKey?: string;
-
- /** messaging.rabbitmq.message.delivery_tag */
- @encodedName("application/json", "messaging.rabbitmq.message.delivery_tag")
- rabbitmqMessageDeliveryTag?: string;
-
- /** messaging.rocketmq.client_group */
- @encodedName("application/json", "messaging.rocketmq.client_group")
- rocketmqClientGroup?: string;
-
- /** messaging.rocketmq.consumption_model */
- @encodedName("application/json", "messaging.rocketmq.consumption_model")
- rocketmqConsumptionModel?: string;
-
- /** messaging.rocketmq.message.delay_time_level */
- @encodedName("application/json", "messaging.rocketmq.message.delay_time_level")
- rocketmqMessageDelayTimeLevel?: string;
-
- /** messaging.rocketmq.message.delivery_timestamp */
- @encodedName("application/json", "messaging.rocketmq.message.delivery_timestamp")
- rocketmqMessageDeliveryTimestamp?: string;
-
- /** messaging.rocketmq.message.group */
- @encodedName("application/json", "messaging.rocketmq.message.group")
- rocketmqMessageGroup?: string;
-
- /** messaging.rocketmq.message.keys */
- @encodedName("application/json", "messaging.rocketmq.message.keys")
- rocketmqMessageKeys?: string;
-
- /** messaging.rocketmq.message.tag */
- @encodedName("application/json", "messaging.rocketmq.message.tag")
- rocketmqMessageTag?: string;
-
- /** messaging.rocketmq.message.type */
- @encodedName("application/json", "messaging.rocketmq.message.type")
- rocketmqMessageType?: MessagingRocketmqMessageTypeValue;
-
- /** messaging.rocketmq.namespace */
- @encodedName("application/json", "messaging.rocketmq.namespace")
- rocketmqNamespace?: string;
-
- /** messaging.servicebus.destination.subscription_name */
- @encodedName("application/json", "messaging.servicebus.destination.subscription_name")
- servicebusDestinationSubscriptionName?: string;
-
- /** messaging.servicebus.disposition_status */
- @encodedName("application/json", "messaging.servicebus.disposition_status")
- servicebusDispositionStatus?: string;
-
- /** messaging.servicebus.message.delivery_count */
- @encodedName("application/json", "messaging.servicebus.message.delivery_count")
- servicebusMessageDeliveryCount?: int64;
-
- /** messaging.servicebus.message.enqueued_time */
- @encodedName("application/json", "messaging.servicebus.message.enqueued_time")
- servicebusMessageEnqueuedTime?: string;
-
- /** messaging.system */
- @encodedName("application/json", "messaging.system")
- system?: MessagingSystemValue;
-
-}
-
-// ============================================================================
-// network.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for network.* */
-model NetworkAttributes {
- /** network.carrier.icc */
- @encodedName("application/json", "network.carrier.icc")
- carrierIcc?: string;
-
- /** network.carrier.mcc */
- @encodedName("application/json", "network.carrier.mcc")
- carrierMcc?: string;
-
- /** network.carrier.mnc */
- @encodedName("application/json", "network.carrier.mnc")
- carrierMnc?: string;
-
- /** network.carrier.name */
- @encodedName("application/json", "network.carrier.name")
- carrierName?: string;
-
- /** network.connection.state */
- @encodedName("application/json", "network.connection.state")
- connectionState?: NetworkConnectionStateValue;
-
- /** network.connection.subtype */
- @encodedName("application/json", "network.connection.subtype")
- connectionSubtype?: NetworkConnectionSubtypeValue;
-
- /** network.connection.type */
- @encodedName("application/json", "network.connection.type")
- connectionType?: NetworkConnectionTypeValue;
-
- /** network.interface.name */
- @encodedName("application/json", "network.interface.name")
- interfaceName?: string;
-
- /** network.io.direction */
- @encodedName("application/json", "network.io.direction")
- ioDirection?: NetworkIoDirectionValue;
-
- /** network.local.address */
- @encodedName("application/json", "network.local.address")
- localAddress?: string;
-
- /** network.local.port */
- @encodedName("application/json", "network.local.port")
- localPort?: string;
-
- /** network.peer.address */
- @encodedName("application/json", "network.peer.address")
- peerAddress?: string;
-
- /** network.peer.port */
- @encodedName("application/json", "network.peer.port")
- peerPort?: string;
-
- /** network.protocol.name */
- @encodedName("application/json", "network.protocol.name")
- protocolName?: string;
-
- /** network.protocol.version */
- @encodedName("application/json", "network.protocol.version")
- protocolVersion?: string;
-
- /** network.transport */
- @encodedName("application/json", "network.transport")
- transport?: NetworkTransportValue;
-
- /** network.type */
- @encodedName("application/json", "network.type")
- type?: NetworkTypeValue;
-
-}
-
-// ============================================================================
-// openai.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for openai.* */
-model OpenaiAttributes {
- /** openai.api.type */
- @encodedName("application/json", "openai.api.type")
- apiType?: OpenaiApiTypeValue;
-
- /** openai.request.service_tier */
- @encodedName("application/json", "openai.request.service_tier")
- requestServiceTier?: string;
-
- /** openai.response.service_tier */
- @encodedName("application/json", "openai.response.service_tier")
- responseServiceTier?: string;
-
- /** openai.response.system_fingerprint */
- @encodedName("application/json", "openai.response.system_fingerprint")
- responseSystemFingerprint?: string;
-
-}
-
-// ============================================================================
-// oracle_cloud.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for oracle_cloud.* */
-model OracleCloudAttributes {
- /** oracle_cloud.realm */
- @encodedName("application/json", "oracle_cloud.realm")
- realm?: string;
-
-}
-
-// ============================================================================
-// oracle.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for oracle.* */
-model OracleAttributes {
- /** oracle.db.domain */
- @encodedName("application/json", "oracle.db.domain")
- dbDomain?: string;
-
- /** oracle.db.instance.name */
- @encodedName("application/json", "oracle.db.instance.name")
- dbInstanceName?: string;
-
- /** oracle.db.name */
- @encodedName("application/json", "oracle.db.name")
- dbName?: string;
-
- /** oracle.db.pdb */
- @encodedName("application/json", "oracle.db.pdb")
- dbPdb?: string;
-
- /** oracle.db.service */
- @encodedName("application/json", "oracle.db.service")
- dbService?: string;
-
-}
-
-// ============================================================================
-// os.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for os.* */
-model OsAttributes {
- /** os.build_id */
- @encodedName("application/json", "os.build_id")
- buildId?: string;
-
- /** os.description */
- @encodedName("application/json", "os.description")
- description?: string;
-
- /** os.name */
- @encodedName("application/json", "os.name")
- name?: string;
-
- /** os.type */
- @encodedName("application/json", "os.type")
- type?: OsTypeValue;
-
- /** os.version */
- @encodedName("application/json", "os.version")
- version?: string;
-
-}
-
-// ============================================================================
-// otel.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for otel.* */
-model OtelAttributes {
- /** otel.component.name */
- @encodedName("application/json", "otel.component.name")
- componentName?: string;
-
- /** otel.component.type */
- @encodedName("application/json", "otel.component.type")
- componentType?: OtelComponentTypeValue;
-
- /** otel.event.name */
- @encodedName("application/json", "otel.event.name")
- eventName?: string;
-
- /** otel.library.name */
- @encodedName("application/json", "otel.library.name")
- libraryName?: string;
-
- /** otel.library.version */
- @encodedName("application/json", "otel.library.version")
- libraryVersion?: string;
-
- /** otel.scope.name */
- @encodedName("application/json", "otel.scope.name")
- scopeName?: string;
-
- /** otel.scope.schema_url */
- @encodedName("application/json", "otel.scope.schema_url")
- scopeSchemaUrl?: string;
-
- /** otel.scope.version */
- @encodedName("application/json", "otel.scope.version")
- scopeVersion?: string;
-
- /** otel.span.parent.origin */
- @encodedName("application/json", "otel.span.parent.origin")
- spanParentOrigin?: OtelSpanParentOriginValue;
-
- /** otel.span.sampling_result */
- @encodedName("application/json", "otel.span.sampling_result")
- spanSamplingResult?: string;
-
- /** otel.status_code */
- @encodedName("application/json", "otel.status_code")
- statusCode?: string;
-
- /** otel.status_description */
- @encodedName("application/json", "otel.status_description")
- statusDescription?: string;
-
-}
-
-// ============================================================================
-// pprof.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for pprof.* */
-model PprofAttributes {
- /** pprof.location.is_folded */
- @encodedName("application/json", "pprof.location.is_folded")
- locationIsFolded?: string;
-
- /** pprof.mapping.has_filenames */
- @encodedName("application/json", "pprof.mapping.has_filenames")
- mappingHasFilenames?: string;
-
- /** pprof.mapping.has_functions */
- @encodedName("application/json", "pprof.mapping.has_functions")
- mappingHasFunctions?: string;
-
- /** pprof.mapping.has_inline_frames */
- @encodedName("application/json", "pprof.mapping.has_inline_frames")
- mappingHasInlineFrames?: string;
-
- /** pprof.mapping.has_line_numbers */
- @encodedName("application/json", "pprof.mapping.has_line_numbers")
- mappingHasLineNumbers?: string;
-
- /** pprof.profile.comment */
- @encodedName("application/json", "pprof.profile.comment")
- profileComment?: string;
-
- /** pprof.profile.doc_url */
- @encodedName("application/json", "pprof.profile.doc_url")
- profileDocUrl?: string;
-
- /** pprof.profile.drop_frames */
- @encodedName("application/json", "pprof.profile.drop_frames")
- profileDropFrames?: string;
-
- /** pprof.profile.keep_frames */
- @encodedName("application/json", "pprof.profile.keep_frames")
- profileKeepFrames?: string;
-
- /** pprof.scope.default_sample_type */
- @encodedName("application/json", "pprof.scope.default_sample_type")
- scopeDefaultSampleType?: string;
-
- /** pprof.scope.sample_type_order */
- @encodedName("application/json", "pprof.scope.sample_type_order")
- scopeSampleTypeOrder?: string;
-
-}
-
-// ============================================================================
-// process.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for process.* */
-model ProcessAttributes {
- /** process.args_count */
- @encodedName("application/json", "process.args_count")
- argsCount?: int64;
-
- /** process.command */
- @encodedName("application/json", "process.command")
- command?: string;
-
- /** process.command_args */
- @encodedName("application/json", "process.command_args")
- commandArgs?: string;
-
- /** process.command_line */
- @encodedName("application/json", "process.command_line")
- commandLine?: string;
-
- /** process.context_switch.type */
- @encodedName("application/json", "process.context_switch.type")
- contextSwitchType?: string;
-
- /** process.cpu.state */
- @encodedName("application/json", "process.cpu.state")
- cpuState?: ProcessCpuStateValue;
-
- /** process.creation.time */
- @encodedName("application/json", "process.creation.time")
- creationTime?: string;
-
- /** process.executable.build_id.gnu */
- @encodedName("application/json", "process.executable.build_id.gnu")
- executableBuildIdGnu?: string;
-
- /** process.executable.build_id.go */
- @encodedName("application/json", "process.executable.build_id.go")
- executableBuildIdGo?: string;
-
- /** process.executable.build_id.htlhash */
- @encodedName("application/json", "process.executable.build_id.htlhash")
- executableBuildIdHtlhash?: string;
-
- /** process.executable.build_id.profiling */
- @encodedName("application/json", "process.executable.build_id.profiling")
- executableBuildIdProfiling?: string;
-
- /** process.executable.name */
- @encodedName("application/json", "process.executable.name")
- executableName?: string;
-
- /** process.executable.path */
- @encodedName("application/json", "process.executable.path")
- executablePath?: string;
-
- /** process.exit.code */
- @encodedName("application/json", "process.exit.code")
- exitCode?: string;
-
- /** process.exit.time */
- @encodedName("application/json", "process.exit.time")
- exitTime?: string;
-
- /** process.group_leader.pid */
- @encodedName("application/json", "process.group_leader.pid")
- groupLeaderPid?: string;
-
- /** process.interactive */
- @encodedName("application/json", "process.interactive")
- interactive?: string;
-
- /** process.linux.cgroup */
- @encodedName("application/json", "process.linux.cgroup")
- linuxCgroup?: string;
-
- /** process.owner */
- @encodedName("application/json", "process.owner")
- owner?: string;
-
- /** process.paging.fault_type */
- @encodedName("application/json", "process.paging.fault_type")
- pagingFaultType?: string;
-
- /** process.parent_pid */
- @encodedName("application/json", "process.parent_pid")
- parentPid?: int32;
-
- /** process.pid */
- @encodedName("application/json", "process.pid")
- pid?: string;
-
- /** process.real_user.id */
- @encodedName("application/json", "process.real_user.id")
- realUserId?: string;
-
- /** process.real_user.name */
- @encodedName("application/json", "process.real_user.name")
- realUserName?: string;
-
- /** process.runtime.description */
- @encodedName("application/json", "process.runtime.description")
- runtimeDescription?: string;
-
- /** process.runtime.name */
- @encodedName("application/json", "process.runtime.name")
- runtimeName?: string;
-
- /** process.runtime.version */
- @encodedName("application/json", "process.runtime.version")
- runtimeVersion?: string;
-
- /** process.saved_user.id */
- @encodedName("application/json", "process.saved_user.id")
- savedUserId?: string;
-
- /** process.saved_user.name */
- @encodedName("application/json", "process.saved_user.name")
- savedUserName?: string;
-
- /** process.session_leader.pid */
- @encodedName("application/json", "process.session_leader.pid")
- sessionLeaderPid?: string;
-
- /** process.state */
- @encodedName("application/json", "process.state")
- state?: ProcessStateValue;
-
- /** process.title */
- @encodedName("application/json", "process.title")
- title?: string;
-
- /** process.user.id */
- @encodedName("application/json", "process.user.id")
- userId?: string;
-
- /** process.user.name */
- @encodedName("application/json", "process.user.name")
- userName?: string;
-
- /** process.vpid */
- @encodedName("application/json", "process.vpid")
- vpid?: string;
-
- /** process.working_directory */
- @encodedName("application/json", "process.working_directory")
- workingDirectory?: string;
-
-}
-
-// ============================================================================
-// profile.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for profile.* */
-model ProfileAttributes {
- /** profile.frame.type */
- @encodedName("application/json", "profile.frame.type")
- frameType?: ProfileFrameTypeValue;
-
-}
-
-// ============================================================================
-// rpc.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for rpc.* */
-model RpcAttributes {
- /** rpc.connect_rpc.error_code */
- @encodedName("application/json", "rpc.connect_rpc.error_code")
- connectRpcErrorCode?: string;
-
- /** rpc.grpc.status_code */
- @encodedName("application/json", "rpc.grpc.status_code")
- grpcStatusCode?: string;
-
- /** rpc.jsonrpc.error_code */
- @encodedName("application/json", "rpc.jsonrpc.error_code")
- jsonrpcErrorCode?: string;
-
- /** rpc.jsonrpc.error_message */
- @encodedName("application/json", "rpc.jsonrpc.error_message")
- jsonrpcErrorMessage?: string;
-
- /** rpc.jsonrpc.request_id */
- @encodedName("application/json", "rpc.jsonrpc.request_id")
- jsonrpcRequestId?: string;
-
- /** rpc.jsonrpc.version */
- @encodedName("application/json", "rpc.jsonrpc.version")
- jsonrpcVersion?: string;
-
- /** rpc.message.compressed_size */
- @encodedName("application/json", "rpc.message.compressed_size")
- messageCompressedSize?: int64;
-
- /** rpc.message.id */
- @encodedName("application/json", "rpc.message.id")
- messageId?: string;
-
- /** rpc.message.type */
- @encodedName("application/json", "rpc.message.type")
- messageType?: RpcMessageTypeValue;
-
- /** rpc.message.uncompressed_size */
- @encodedName("application/json", "rpc.message.uncompressed_size")
- messageUncompressedSize?: int64;
-
- /** rpc.method */
- @encodedName("application/json", "rpc.method")
- method?: string;
-
- /** rpc.method_original */
- @encodedName("application/json", "rpc.method_original")
- methodOriginal?: string;
-
- /** rpc.response.status_code */
- @encodedName("application/json", "rpc.response.status_code")
- responseStatusCode?: string;
-
- /** rpc.service */
- @encodedName("application/json", "rpc.service")
- service?: string;
-
- /** rpc.system */
- @encodedName("application/json", "rpc.system")
- system?: RpcSystemValue;
-
- /** rpc.system.name */
- @encodedName("application/json", "rpc.system.name")
- systemName?: RpcSystemNameValue;
-
-}
-
-// ============================================================================
-// server.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for server.* */
-model ServerAttributes {
- /** server.address */
- @encodedName("application/json", "server.address")
- address?: string;
-
- /** server.port */
- @encodedName("application/json", "server.port")
- port?: string;
-
-}
-
-// ============================================================================
-// service.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for service.* */
-model ServiceAttributes {
- /** service.criticality */
- @encodedName("application/json", "service.criticality")
- criticality?: ServiceCriticalityValue;
-
- /** service.instance.id */
- @encodedName("application/json", "service.instance.id")
- instanceId?: string;
-
- /** service.name */
- @encodedName("application/json", "service.name")
- name?: string;
-
- /** service.namespace */
- @encodedName("application/json", "service.namespace")
- `namespace`?: string;
-
- /** service.peer.name */
- @encodedName("application/json", "service.peer.name")
- peerName?: string;
-
- /** service.peer.namespace */
- @encodedName("application/json", "service.peer.namespace")
- peerNamespace?: string;
-
- /** service.version */
- @encodedName("application/json", "service.version")
- version?: string;
-
-}
-
-// ============================================================================
-// session.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for session.* */
-model SessionAttributes {
- /** session.id */
- @encodedName("application/json", "session.id")
- id?: string;
-
- /** session.previous_id */
- @encodedName("application/json", "session.previous_id")
- previousId?: string;
-
-}
-
-// ============================================================================
-// signalr.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for signalr.* */
-model SignalrAttributes {
- /** signalr.connection.status */
- @encodedName("application/json", "signalr.connection.status")
- connectionStatus?: SignalrConnectionStatusValue;
-
- /** signalr.transport */
- @encodedName("application/json", "signalr.transport")
- transport?: SignalrTransportValue;
-
-}
-
-// ============================================================================
-// system.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for system.* */
-model SystemAttributes {
- /** system.cpu.logical_number */
- @encodedName("application/json", "system.cpu.logical_number")
- cpuLogicalNumber?: string;
-
- /** system.cpu.state */
- @encodedName("application/json", "system.cpu.state")
- cpuState?: SystemCpuStateValue;
-
- /** system.device */
- @encodedName("application/json", "system.device")
- device?: string;
-
- /** system.filesystem.mode */
- @encodedName("application/json", "system.filesystem.mode")
- filesystemMode?: string;
-
- /** system.filesystem.mountpoint */
- @encodedName("application/json", "system.filesystem.mountpoint")
- filesystemMountpoint?: string;
-
- /** system.filesystem.state */
- @encodedName("application/json", "system.filesystem.state")
- filesystemState?: SystemFilesystemStateValue;
-
- /** system.filesystem.type */
- @encodedName("application/json", "system.filesystem.type")
- filesystemType?: SystemFilesystemTypeValue;
-
- /** system.memory.linux.slab.state */
- @encodedName("application/json", "system.memory.linux.slab.state")
- memoryLinuxSlabState?: SystemMemoryLinuxSlabStateValue;
-
- /** system.memory.state */
- @encodedName("application/json", "system.memory.state")
- memoryState?: SystemMemoryStateValue;
-
- /** system.network.state */
- @encodedName("application/json", "system.network.state")
- networkState?: SystemNetworkStateValue;
-
- /** system.paging.direction */
- @encodedName("application/json", "system.paging.direction")
- pagingDirection?: SystemPagingDirectionValue;
-
- /** system.paging.fault.type */
- @encodedName("application/json", "system.paging.fault.type")
- pagingFaultType?: SystemPagingFaultTypeValue;
-
- /** system.paging.state */
- @encodedName("application/json", "system.paging.state")
- pagingState?: SystemPagingStateValue;
-
- /** system.paging.type */
- @encodedName("application/json", "system.paging.type")
- pagingType?: SystemPagingTypeValue;
-
- /** system.process.status */
- @encodedName("application/json", "system.process.status")
- processStatus?: SystemProcessStatusValue;
-
- /** system.processes.status */
- @encodedName("application/json", "system.processes.status")
- processesStatus?: SystemProcessesStatusValue;
-
-}
-
-// ============================================================================
-// telemetry.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for telemetry.* */
-model TelemetryAttributes {
- /** telemetry.distro.name */
- @encodedName("application/json", "telemetry.distro.name")
- distroName?: string;
-
- /** telemetry.distro.version */
- @encodedName("application/json", "telemetry.distro.version")
- distroVersion?: string;
-
- /** telemetry.sdk.language */
- @encodedName("application/json", "telemetry.sdk.language")
- sdkLanguage?: TelemetrySdkLanguageValue;
-
- /** telemetry.sdk.name */
- @encodedName("application/json", "telemetry.sdk.name")
- sdkName?: string;
-
- /** telemetry.sdk.version */
- @encodedName("application/json", "telemetry.sdk.version")
- sdkVersion?: string;
-
-}
-
-// ============================================================================
-// test.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for test.* */
-model TestAttributes {
- /** test.case.name */
- @encodedName("application/json", "test.case.name")
- caseName?: string;
-
- /** test.case.result.status */
- @encodedName("application/json", "test.case.result.status")
- caseResultStatus?: TestCaseResultStatusValue;
-
- /** test.suite.name */
- @encodedName("application/json", "test.suite.name")
- suiteName?: string;
-
- /** test.suite.run.status */
- @encodedName("application/json", "test.suite.run.status")
- suiteRunStatus?: TestSuiteRunStatusValue;
-
-}
-
-// ============================================================================
-// thread.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for thread.* */
-model ThreadAttributes {
- /** thread.id */
- @encodedName("application/json", "thread.id")
- id?: string;
-
- /** thread.name */
- @encodedName("application/json", "thread.name")
- name?: string;
-
-}
-
-// ============================================================================
-// tls.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for tls.* */
-model TlsAttributes {
- /** tls.cipher */
- @encodedName("application/json", "tls.cipher")
- cipher?: string;
-
- /** tls.client.certificate */
- @encodedName("application/json", "tls.client.certificate")
- clientCertificate?: string;
-
- /** tls.client.certificate_chain */
- @encodedName("application/json", "tls.client.certificate_chain")
- clientCertificateChain?: string;
-
- /** tls.client.hash.md5 */
- @encodedName("application/json", "tls.client.hash.md5")
- clientHashMd5?: string;
-
- /** tls.client.hash.sha1 */
- @encodedName("application/json", "tls.client.hash.sha1")
- clientHashSha1?: string;
-
- /** tls.client.hash.sha256 */
- @encodedName("application/json", "tls.client.hash.sha256")
- clientHashSha256?: string;
-
- /** tls.client.issuer */
- @encodedName("application/json", "tls.client.issuer")
- clientIssuer?: string;
-
- /** tls.client.ja3 */
- @encodedName("application/json", "tls.client.ja3")
- clientJa3?: string;
-
- /** tls.client.not_after */
- @encodedName("application/json", "tls.client.not_after")
- clientNotAfter?: string;
-
- /** tls.client.not_before */
- @encodedName("application/json", "tls.client.not_before")
- clientNotBefore?: string;
-
- /** tls.client.server_name */
- @encodedName("application/json", "tls.client.server_name")
- clientServerName?: string;
-
- /** tls.client.subject */
- @encodedName("application/json", "tls.client.subject")
- clientSubject?: string;
-
- /** tls.client.supported_ciphers */
- @encodedName("application/json", "tls.client.supported_ciphers")
- clientSupportedCiphers?: string;
-
- /** tls.curve */
- @encodedName("application/json", "tls.curve")
- curve?: string;
-
- /** tls.established */
- @encodedName("application/json", "tls.established")
- established?: string;
-
- /** tls.next_protocol */
- @encodedName("application/json", "tls.next_protocol")
- nextProtocol?: string;
-
- /** tls.protocol.name */
- @encodedName("application/json", "tls.protocol.name")
- protocolName?: TlsProtocolNameValue;
-
- /** tls.protocol.version */
- @encodedName("application/json", "tls.protocol.version")
- protocolVersion?: string;
-
- /** tls.resumed */
- @encodedName("application/json", "tls.resumed")
- resumed?: string;
-
- /** tls.server.certificate */
- @encodedName("application/json", "tls.server.certificate")
- serverCertificate?: string;
-
- /** tls.server.certificate_chain */
- @encodedName("application/json", "tls.server.certificate_chain")
- serverCertificateChain?: string;
-
- /** tls.server.hash.md5 */
- @encodedName("application/json", "tls.server.hash.md5")
- serverHashMd5?: string;
-
- /** tls.server.hash.sha1 */
- @encodedName("application/json", "tls.server.hash.sha1")
- serverHashSha1?: string;
-
- /** tls.server.hash.sha256 */
- @encodedName("application/json", "tls.server.hash.sha256")
- serverHashSha256?: string;
-
- /** tls.server.issuer */
- @encodedName("application/json", "tls.server.issuer")
- serverIssuer?: string;
-
- /** tls.server.ja3s */
- @encodedName("application/json", "tls.server.ja3s")
- serverJa3s?: string;
-
- /** tls.server.not_after */
- @encodedName("application/json", "tls.server.not_after")
- serverNotAfter?: string;
-
- /** tls.server.not_before */
- @encodedName("application/json", "tls.server.not_before")
- serverNotBefore?: string;
-
- /** tls.server.subject */
- @encodedName("application/json", "tls.server.subject")
- serverSubject?: string;
-
-}
-
-// ============================================================================
-// url.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for url.* */
-model UrlAttributes {
- /** url.domain */
- @encodedName("application/json", "url.domain")
- domain?: string;
-
- /** url.extension */
- @encodedName("application/json", "url.extension")
- extension?: string;
-
- /** url.fragment */
- @encodedName("application/json", "url.fragment")
- fragment?: string;
-
- /** url.full */
- @encodedName("application/json", "url.full")
- full?: string;
-
- /** url.original */
- @encodedName("application/json", "url.original")
- original?: string;
-
- /** url.path */
- @encodedName("application/json", "url.path")
- path?: string;
-
- /** url.port */
- @encodedName("application/json", "url.port")
- port?: string;
-
- /** url.query */
- @encodedName("application/json", "url.query")
- query?: string;
-
- /** url.registered_domain */
- @encodedName("application/json", "url.registered_domain")
- registeredDomain?: string;
-
- /** url.scheme */
- @encodedName("application/json", "url.scheme")
- scheme?: string;
-
- /** url.subdomain */
- @encodedName("application/json", "url.subdomain")
- subdomain?: string;
-
- /** url.template */
- @encodedName("application/json", "url.template")
- template?: string;
-
- /** url.top_level_domain */
- @encodedName("application/json", "url.top_level_domain")
- topLevelDomain?: string;
-
-}
-
-// ============================================================================
-// user_agent.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for user_agent.* */
-model UserAgentAttributes {
- /** user_agent.name */
- @encodedName("application/json", "user_agent.name")
- name?: string;
-
- /** user_agent.original */
- @encodedName("application/json", "user_agent.original")
- original?: string;
-
- /** user_agent.os.name */
- @encodedName("application/json", "user_agent.os.name")
- osName?: string;
-
- /** user_agent.os.version */
- @encodedName("application/json", "user_agent.os.version")
- osVersion?: string;
-
- /** user_agent.synthetic.type */
- @encodedName("application/json", "user_agent.synthetic.type")
- syntheticType?: string;
-
- /** user_agent.version */
- @encodedName("application/json", "user_agent.version")
- version?: string;
-
-}
-
-// ============================================================================
-// user.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for user.* */
-model UserAttributes {
- /** user.email */
- @encodedName("application/json", "user.email")
- email?: string;
-
- /** user.full_name */
- @encodedName("application/json", "user.full_name")
- fullName?: string;
-
- /** user.hash */
- @encodedName("application/json", "user.hash")
- hash?: string;
-
- /** user.id */
- @encodedName("application/json", "user.id")
- id?: string;
-
- /** user.name */
- @encodedName("application/json", "user.name")
- name?: string;
-
- /** user.roles */
- @encodedName("application/json", "user.roles")
- roles?: string;
-
-}
-
-// ============================================================================
-// vcs.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for vcs.* */
-model VcsAttributes {
- /** vcs.change.id */
- @encodedName("application/json", "vcs.change.id")
- changeId?: string;
-
- /** vcs.change.state */
- @encodedName("application/json", "vcs.change.state")
- changeState?: VcsChangeStateValue;
-
- /** vcs.change.title */
- @encodedName("application/json", "vcs.change.title")
- changeTitle?: string;
-
- /** vcs.line_change.type */
- @encodedName("application/json", "vcs.line_change.type")
- lineChangeType?: string;
-
- /** vcs.owner.name */
- @encodedName("application/json", "vcs.owner.name")
- ownerName?: string;
-
- /** vcs.provider.name */
- @encodedName("application/json", "vcs.provider.name")
- providerName?: VcsProviderNameValue;
-
- /** vcs.ref.base.name */
- @encodedName("application/json", "vcs.ref.base.name")
- refBaseName?: string;
-
- /** vcs.ref.base.revision */
- @encodedName("application/json", "vcs.ref.base.revision")
- refBaseRevision?: string;
-
- /** vcs.ref.base.type */
- @encodedName("application/json", "vcs.ref.base.type")
- refBaseType?: VcsRefBaseTypeValue;
-
- /** vcs.ref.head.name */
- @encodedName("application/json", "vcs.ref.head.name")
- refHeadName?: string;
-
- /** vcs.ref.head.revision */
- @encodedName("application/json", "vcs.ref.head.revision")
- refHeadRevision?: string;
-
- /** vcs.ref.head.type */
- @encodedName("application/json", "vcs.ref.head.type")
- refHeadType?: VcsRefHeadTypeValue;
-
- /** vcs.ref.type */
- @encodedName("application/json", "vcs.ref.type")
- refType?: VcsRefTypeValue;
-
- /** vcs.repository.change.id */
- @encodedName("application/json", "vcs.repository.change.id")
- repositoryChangeId?: string;
-
- /** vcs.repository.change.title */
- @encodedName("application/json", "vcs.repository.change.title")
- repositoryChangeTitle?: string;
-
- /** vcs.repository.name */
- @encodedName("application/json", "vcs.repository.name")
- repositoryName?: string;
-
- /** vcs.repository.ref.name */
- @encodedName("application/json", "vcs.repository.ref.name")
- repositoryRefName?: string;
-
- /** vcs.repository.ref.revision */
- @encodedName("application/json", "vcs.repository.ref.revision")
- repositoryRefRevision?: string;
-
- /** vcs.repository.ref.type */
- @encodedName("application/json", "vcs.repository.ref.type")
- repositoryRefType?: VcsRepositoryRefTypeValue;
-
- /** vcs.repository.url.full */
- @encodedName("application/json", "vcs.repository.url.full")
- repositoryUrlFull?: string;
-
- /** vcs.revision_delta.direction */
- @encodedName("application/json", "vcs.revision_delta.direction")
- revisionDeltaDirection?: string;
-
-}
-
-// ============================================================================
-// webengine.* Attributes Model
-// ============================================================================
-
-/** Semantic convention attributes for webengine.* */
-model WebengineAttributes {
- /** webengine.description */
- @encodedName("application/json", "webengine.description")
- description?: string;
-
- /** webengine.name */
- @encodedName("application/json", "webengine.name")
- name?: string;
-
- /** webengine.version */
- @encodedName("application/json", "webengine.version")
- version?: string;
-
-}
diff --git a/core/specs/main.tsp b/core/specs/main.tsp
index dc852ca39..b285e9ace 100644
--- a/core/specs/main.tsp
+++ b/core/specs/main.tsp
@@ -48,19 +48,13 @@ import "./otel/metrics.tsp";
import "./otel/profiles.tsp";
import "./otel/storage.tsp";
-// =============================================================================
-// Generated Semantic Conventions (OTel 1.40)
-// =============================================================================
-// Type-safe attribute keys from @opentelemetry/semantic-conventions NPM package.
-// Contains Keys.GenAi, Keys.Db, Keys.Http, etc. for all OTel semconv attributes (v1.40).
-import "./generated/semconv.g.tsp";
-// =============================================================================
-
// =============================================================================
// QYL Domain Models
// =============================================================================
-// These files contain qyl-specific models (stats, entities, aggregations).
-// OTel attribute definitions now come from generated/semconv.g.tsp.
+// qyl-specific models (stats, entities, aggregations). Semconv attribute keys
+// are used directly as string literals on @encodedName — the earlier typed
+// Keys.* TSP bridge was imported but never referenced, so dropped with its
+// 6953-line generated semconv.g.tsp.
// =============================================================================
// AI Domain - GenAI stats and cost models
diff --git a/eng/build/BuildPipeline.cs b/eng/build/BuildPipeline.cs
index c81ce5fdc..f239bd888 100644
--- a/eng/build/BuildPipeline.cs
+++ b/eng/build/BuildPipeline.cs
@@ -165,39 +165,33 @@ partial interface IPipeline : IHazSourcePaths
// Semconv Targets (OTel Semantic Conventions)
// ════════════════════════════════════════════════════════════════════════
- Target SemconvInstall => d => d
- .Description("Install semconv-generator npm dependencies")
+ Target GenerateSemconv => d => d
+ .Description("Generate OTel Semantic Conventions via Weaver (TypeScript + DuckDB)")
.OnlyWhenStatic(() => SemconvDirectory.DirectoryExists())
.Executes(() =>
{
- Log.Information("Installing semconv-generator dependencies...");
-
- NpmTasks.NpmInstall(s => s
- .SetProcessWorkingDirectory(SemconvDirectory));
+ Log.Information("Running Weaver for OTel Semantic Conventions...");
- Log.Information("Semconv dependencies installed");
- });
+ var script = SemconvDirectory / "run-weaver.sh";
+ var bootstrap = SemconvDirectory / "bootstrap-weaver.sh";
- Target GenerateSemconv => d => d
- .Description("Generate OTel Semantic Conventions (C#, TypeScript, TypeSpec, DuckDB)")
- .DependsOn(SemconvInstall)
- .OnlyWhenStatic(() => SemconvDirectory.DirectoryExists())
- .Executes(() =>
- {
- Log.Information("Generating OTel Semantic Conventions...");
+ if (!script.FileExists())
+ {
+ Log.Error("Missing {Script}. Run {Bootstrap} first.", script, bootstrap);
+ throw new FileNotFoundException("run-weaver.sh not found", script);
+ }
- NpmTasks.NpmRun(s => s
- .SetProcessWorkingDirectory(SemconvDirectory)
- .SetCommand("generate"));
+ // Ensure the .tools/ toolchain is present. bootstrap-weaver.sh is
+ // idempotent and exits quickly when binaries + upstream clone are
+ // already cached.
+ ProcessTasks.StartProcess("bash", bootstrap, logOutput: true).AssertZeroExitCode();
+ ProcessTasks.StartProcess("bash", script, logOutput: true).AssertZeroExitCode();
- Log.Information("Semconv generated to final destinations:");
- Log.Information(" TypeSpec: core/specs/generated/semconv.g.tsp");
- Log.Information(" C#: src/qyl.instrumentation/Instrumentation/SemanticConventions.g.cs");
- Log.Information(" C# UTF-8: src/qyl.instrumentation/Instrumentation/SemanticConventions.Utf8.g.cs");
+ Log.Information("Semconv written to:");
Log.Information(" TypeScript: src/qyl.dashboard/src/lib/semconv.ts");
- Log.Information(" DuckDB: src/qyl.collector/Storage/promoted-columns.g.sql");
- Log.Information(" Protocol: src/qyl.contracts/Attributes/GenAiAttributes.g.cs");
- Log.Information(" Protocol: src/qyl.contracts/Attributes/DbAttributes.g.cs");
+ Log.Information(" DuckDB: src/qyl.collector/Storage/promoted-columns.g.sql");
+ Log.Information("Facades under src/qyl.contracts/Attributes/*.cs are hand-maintained.");
+ Log.Information("TypeSpec at core/specs/generated/semconv.g.tsp is pinned at v1.40.0 (no generator yet).");
});
// ════════════════════════════════════════════════════════════════════════
@@ -210,7 +204,6 @@ partial interface IPipeline : IHazSourcePaths
.Executes(() =>
{
var paths = CodegenPaths.From(this);
- var extensionsJson = SemconvDirectory / "qyl-extensions.json";
var guard = IsServerBuild
? GenerationGuard.ForCi()
: DryRunGenerate ?? false
@@ -218,7 +211,6 @@ partial interface IPipeline : IHazSourcePaths
: GenerationGuard.ForLocal(ForceGenerate ?? false);
ContractGenerator.Generate(
- extensionsJson,
paths.InstrumentationGenerator,
paths.CollectorObserve,
guard);
diff --git a/eng/build/ContractGenerator.cs b/eng/build/ContractGenerator.cs
index 111563a3d..7c6b619b9 100644
--- a/eng/build/ContractGenerator.cs
+++ b/eng/build/ContractGenerator.cs
@@ -1,40 +1,96 @@
// eng/build/ContractGenerator.cs
-using System;
using System.Collections.Generic;
using System.Globalization;
-using System.IO;
using System.Linq;
using System.Text;
-using System.Text.Json;
using Nuke.Common.IO;
using Serilog;
///
-/// Generates DomainContracts.g.cs from qyl-extensions.json into compile-time and runtime consumers.
-/// Single entry point: .
+/// Generates DomainContracts.g.cs for the instrumentation generator + collector from a
+/// compile-time domain table inlined below. Previously read eng/semconv/qyl-extensions.json;
+/// that JSON was deleted in the Weaver cutover (PR #141). The attribute lists that survived
+/// the migration now live here as the single source of truth.
///
public static class ContractGenerator
{
private const string SchemaVersion = "semconv-1.40.0";
+ // Attribute lists extracted from the former qyl-extensions.json facades. Each domain's
+ // `required` set marks attributes that MUST be present on every emitted span/metric of
+ // that signal; the rest are recommended. Bumping semconv = edit these lists.
+ private static readonly string[] GenAiAttributes =
+ [
+ "gen_ai.provider.name",
+ "gen_ai.operation.name",
+ "gen_ai.request.model",
+ "gen_ai.request.temperature",
+ "gen_ai.request.max_tokens",
+ "gen_ai.request.top_p",
+ "gen_ai.request.top_k",
+ "gen_ai.request.stop_sequences",
+ "gen_ai.request.frequency_penalty",
+ "gen_ai.request.presence_penalty",
+ "gen_ai.request.choice.count",
+ "gen_ai.request.seed",
+ "gen_ai.request.encoding_formats",
+ "gen_ai.response.model",
+ "gen_ai.response.finish_reasons",
+ "gen_ai.response.id",
+ "gen_ai.usage.input_tokens",
+ "gen_ai.usage.output_tokens",
+ "gen_ai.usage.cache_read.input_tokens",
+ "gen_ai.usage.cache_creation.input_tokens",
+ "gen_ai.token.type",
+ "gen_ai.tool.name",
+ "gen_ai.tool.call.id",
+ "gen_ai.tool.description",
+ "gen_ai.tool.type",
+ "gen_ai.tool.call.arguments",
+ "gen_ai.tool.call.result",
+ "gen_ai.tool.definitions",
+ "gen_ai.input.messages",
+ "gen_ai.output.messages",
+ "gen_ai.output.type",
+ "gen_ai.system_instructions",
+ "gen_ai.agent.version",
+ "gen_ai.conversation.id",
+ "gen_ai.prompt.name",
+ "gen_ai.embeddings.dimension.count",
+ "gen_ai.evaluation.name",
+ "gen_ai.evaluation.score.value",
+ "gen_ai.evaluation.score.label",
+ "gen_ai.evaluation.explanation",
+ "gen_ai.data_source.id"
+ ];
+
+ private static readonly string[] DbAttributes =
+ [
+ "db.system.name",
+ "db.operation.name",
+ "db.query.text",
+ "db.query.summary",
+ "db.namespace",
+ "db.collection.name",
+ "db.response.status_code",
+ "db.response.returned_rows",
+ "db.client.connection.pool.name",
+ "db.client.connection.state",
+ "db.operation.batch.size",
+ "db.stored_procedure.name"
+ ];
+
///
- /// Reads qyl-extensions.json, emits DomainContracts.g.cs to the instrumentation generator and collector.
+ /// Emits DomainContracts.g.cs to the instrumentation generator and collector.
///
public static void Generate(
- AbsolutePath extensionsJsonPath,
AbsolutePath instrumentationGeneratorDir,
AbsolutePath collectorObserveDir,
GenerationGuard guard)
{
- if (!extensionsJsonPath.FileExists())
- {
- Log.Error("qyl-extensions.json not found at {Path}", extensionsJsonPath);
- throw new FileNotFoundException("qyl-extensions.json not found", extensionsJsonPath);
- }
-
- var domains = LoadDomains(extensionsJsonPath);
- Log.Information("Loaded {Count} domain(s) from qyl-extensions.json", domains.Count);
+ var domains = BuildDomains();
+ Log.Information("Emitting {Count} domain contract(s)", domains.Count);
var content = EmitDomainContracts(domains);
@@ -45,109 +101,50 @@ public static void Generate(
guard.WriteIfAllowed(collectorDest, content, "DomainContracts.g.cs → qyl.collector/Observe");
}
- // ── Domain loading ────────────────────────────────────────────────────────
-
- private static List LoadDomains(AbsolutePath extensionsJsonPath)
- {
- using var stream = File.OpenRead(extensionsJsonPath);
- using var doc = JsonDocument.Parse(stream);
- var root = doc.RootElement;
-
- var domains = new List();
-
- // gen_ai domain — lookup by upstreamPrefix, not positional index
- var genAiFacade = FindFacade(root, "gen_ai");
- domains.Add(new DomainSpec(
- "gen_ai",
- "qyl.genai",
- ["traces", "metrics"],
- ExtractAttributes(genAiFacade, ["gen_ai.operation.name", "gen_ai.provider.name", "gen_ai.request.model"]),
+ private static List BuildDomains() =>
+ [
+ new("gen_ai", "qyl.genai", ["traces", "metrics"],
+ BuildAttributeSpecs(GenAiAttributes,
+ ["gen_ai.operation.name", "gen_ai.provider.name", "gen_ai.request.model"]),
[
new MetricSpec("gen_ai.client.token.usage", "histogram", "token"),
new MetricSpec("gen_ai.client.operation.duration", "histogram", "s")
- ]));
-
- // db domain — lookup by upstreamPrefix, not positional index
- var dbFacade = FindFacade(root, "db");
- domains.Add(new DomainSpec(
- "db",
- "qyl.db",
- ["traces"],
- ExtractAttributes(dbFacade, ["db.system.name", "db.operation.name"]),
- []));
-
- // traced domain — open schema, no fixed attributes
- domains.Add(new DomainSpec(
- "traced",
- "qyl.traced",
- ["traces"],
- [],
- []));
-
- // agent domain — subset of gen_ai attributes
- domains.Add(new DomainSpec(
- "agent",
- "qyl.agent",
- ["traces", "metrics"],
+ ]),
+ new("db", "qyl.db", ["traces"],
+ BuildAttributeSpecs(DbAttributes, ["db.system.name", "db.operation.name"]),
+ []),
+ new("traced", "qyl.traced", ["traces"], [], []),
+ new("agent", "qyl.agent", ["traces", "metrics"],
[
new AttributeSpec("gen_ai.agent.name", "string", false),
new AttributeSpec("gen_ai.operation.name", "string", true)
],
- []));
-
- return domains;
- }
-
- private static JsonElement FindFacade(JsonElement root, string upstreamPrefix)
- {
- foreach (var facade in root.GetProperty("facades").EnumerateArray())
- {
- if (string.Equals(facade.GetProperty("upstreamPrefix").GetString(),
- upstreamPrefix, StringComparison.Ordinal))
- return facade;
- }
-
- throw new InvalidOperationException(
- $"Facade with upstreamPrefix '{upstreamPrefix}' not found in qyl-extensions.json");
- }
-
- private static List ExtractAttributes(
- JsonElement facade,
- string[] requiredNames)
- {
- var attrs = new List();
+ [])
+ ];
- foreach (var nameElem in facade.GetProperty("attributes").EnumerateArray())
- {
- var name = nameElem.GetString()!;
- var type = InferType(name);
- var required = requiredNames.Contains(name);
- attrs.Add(new AttributeSpec(name, type, required));
- }
-
- return attrs;
- }
+ private static List BuildAttributeSpecs(string[] names, string[] requiredNames) =>
+ [.. names.Select(n => new AttributeSpec(n, InferType(n), requiredNames.Contains(n)))];
private static string InferType(string attributeName)
{
var suffix = attributeName.Split('.')[^1];
if (suffix is "tokens" or "count" or "size" or "max_tokens" or "returned_rows"
- || suffix.EndsWith("_tokens", StringComparison.Ordinal)
- || suffix.EndsWith("_count", StringComparison.Ordinal)
- || suffix.EndsWith("_size", StringComparison.Ordinal))
+ || suffix.EndsWith("_tokens", System.StringComparison.Ordinal)
+ || suffix.EndsWith("_count", System.StringComparison.Ordinal)
+ || suffix.EndsWith("_size", System.StringComparison.Ordinal))
return "int";
if (suffix is "temperature" or "top_p" or "top_k"
- || suffix.EndsWith("_penalty", StringComparison.Ordinal)
- || attributeName.EndsWith("score.value", StringComparison.Ordinal))
+ || suffix.EndsWith("_penalty", System.StringComparison.Ordinal)
+ || attributeName.EndsWith("score.value", System.StringComparison.Ordinal))
return "double";
- if (suffix.EndsWith("_reasons", StringComparison.Ordinal)
- || suffix.EndsWith("_sequences", StringComparison.Ordinal)
- || suffix.EndsWith("_formats", StringComparison.Ordinal)
- || attributeName.EndsWith("input.messages", StringComparison.Ordinal)
- || attributeName.EndsWith("output.messages", StringComparison.Ordinal))
+ if (suffix.EndsWith("_reasons", System.StringComparison.Ordinal)
+ || suffix.EndsWith("_sequences", System.StringComparison.Ordinal)
+ || suffix.EndsWith("_formats", System.StringComparison.Ordinal)
+ || attributeName.EndsWith("input.messages", System.StringComparison.Ordinal)
+ || attributeName.EndsWith("output.messages", System.StringComparison.Ordinal))
return "string[]";
return "string";
diff --git a/eng/semconv/CHANGELOG.md b/eng/semconv/CHANGELOG.md
deleted file mode 100644
index 54616b067..000000000
--- a/eng/semconv/CHANGELOG.md
+++ /dev/null
@@ -1,428 +0,0 @@
-# Semantic Conventions Schema Changelog
-
-Source: [open-telemetry/semantic-conventions/schemas](https://github.com/open-telemetry/semantic-conventions/tree/main/schemas)
-
-Cumulative rename chain from v1.4.0 to v1.40.0. Each entry shows what was renamed in that version.
-Only the **right-hand side** (target) names are valid in v1.40.0.
-
----
-
-## v1.8.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `db.cassandra.keyspace` | `db.namespace` (via `db.name` in v1.8 then renamed again in v1.25) |
-| `db.hbase.namespace` | `db.namespace` (via `db.name` in v1.8 then renamed again in v1.25) |
-
-## v1.13.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `net.host.ip` | `server.socket.address` (via `net.sock.host.addr` in v1.13 then renamed in v1.21) |
-| `net.peer.ip` | `net.sock.peer.addr` |
-
-## v1.15.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `http.retry_count` | `http.request.resend_count` (via `http.resend_count` in v1.15 then renamed in v1.22) |
-
-## v1.17.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `messaging.consumer_id` | `messaging.consumer.id` |
-| `messaging.conversation_id` | `messaging.message.conversation_id` |
-| `messaging.destination` | `messaging.destination.name` |
-| `messaging.destination_kind` | `messaging.destination.kind` |
-| `messaging.kafka.consumer_group` | `messaging.consumer.group.name` (via `messaging.kafka.consumer.group` in v1.17 then renamed in v1.27) |
-| `messaging.kafka.message_key` | `messaging.kafka.message.key` |
-| `messaging.kafka.partition` | `messaging.destination.partition.id` (via `messaging.kafka.destination.partition` in v1.17 then renamed in v1.25) |
-| `messaging.kafka.tombstone` | `messaging.kafka.message.tombstone` |
-| `messaging.message_id` | `messaging.message.id` |
-| `messaging.message_payload_compressed_size_bytes` | `messaging.message.payload_compressed_size_bytes` |
-| `messaging.message_payload_size_bytes` | `messaging.message.body.size` (via `messaging.message.payload_size_bytes` in v1.17 then renamed in v1.22) |
-| `messaging.protocol` | `network.protocol.name` (via `net.app.protocol.name` in v1.17 -> `net.protocol.name` in v1.20 -> `network.protocol.name` in v1.21) |
-| `messaging.protocol_version` | `network.protocol.version` (via `net.app.protocol.version` in v1.17 -> `net.protocol.version` in v1.20 -> `network.protocol.version` in v1.21) |
-| `messaging.rabbitmq.routing_key` | `messaging.rabbitmq.destination.routing_key` |
-| `messaging.rocketmq.message_keys` | `messaging.rocketmq.message.keys` |
-| `messaging.rocketmq.message_tag` | `messaging.rocketmq.message.tag` |
-| `messaging.rocketmq.message_type` | `messaging.rocketmq.message.type` |
-| `messaging.temp_destination` | `messaging.destination.temporary` |
-
-## v1.19.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `browser.user_agent` | `user_agent.original` |
-| `faas.execution` | `faas.invocation_id` |
-| `faas.id` | `cloud.resource_id` |
-| `http.user_agent` | `user_agent.original` |
-
-## v1.20.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `net.app.protocol.name` | `network.protocol.name` (via `net.protocol.name` in v1.20 then renamed in v1.21) |
-| `net.app.protocol.version` | `network.protocol.version` (via `net.protocol.version` in v1.20 then renamed in v1.21) |
-
-## v1.21.0
-
-The great HTTP/network rename.
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `http.client_ip` | `client.address` |
-| `http.method` | `http.request.method` |
-| `http.request_content_length` | `http.request.body.size` |
-| `http.response_content_length` | `http.response.body.size` |
-| `http.scheme` | `url.scheme` |
-| `http.status_code` | `http.response.status_code` |
-| `http.url` | `url.full` |
-| `messaging.kafka.client_id` | `messaging.client.id` (via `messaging.client_id` in v1.21 then renamed in v1.26) |
-| `messaging.rocketmq.client_id` | `messaging.client.id` (via `messaging.client_id` in v1.21 then renamed in v1.26) |
-| `net.host.carrier.icc` | `network.carrier.icc` |
-| `net.host.carrier.mcc` | `network.carrier.mcc` |
-| `net.host.carrier.mnc` | `network.carrier.mnc` |
-| `net.host.carrier.name` | `network.carrier.name` |
-| `net.host.connection.subtype` | `network.connection.subtype` |
-| `net.host.connection.type` | `network.connection.type` |
-| `net.host.name` | `server.address` |
-| `net.host.port` | `server.port` |
-| `net.protocol.name` | `network.protocol.name` |
-| `net.protocol.version` | `network.protocol.version` |
-| `net.sock.host.addr` | `server.socket.address` |
-| `net.sock.host.port` | `server.socket.port` |
-| `net.sock.peer.name` | `server.socket.domain` |
-
-| Old Metric | v1.40.0 Metric |
-|-----------|---------------|
-| `process.runtime.jvm.cpu.utilization` | `jvm.cpu.recent_utilization` (via `process.runtime.jvm.cpu.recent_utilization` in v1.21 then renamed in v1.22) |
-
-## v1.22.0
-
-The JVM and system restructure.
-
-**Attribute renames (27):**
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `http.resend_count` | `http.request.resend_count` |
-| `messaging.message.payload_size_bytes` | `messaging.message.body.size` |
-| `telemetry.auto.version` | `telemetry.distro.version` |
-
-Plus 24 context-dependent renames (`state`, `type`, `direction`, `device`, `pool`, `name`, `action`, etc.) that now carry their domain prefix (e.g. `state` -> `system.cpu.state` -> `cpu.mode` in v1.27).
-
-**Metric renames (21):**
-
-| Old Metric | v1.40.0 Metric |
-|-----------|---------------|
-| `http.client.duration` | `http.client.request.duration` |
-| `http.server.duration` | `http.server.request.duration` |
-| `http.server.request.size` | `http.server.request.body.size` |
-| `http.server.response.size` | `http.server.response.body.size` |
-| `process.runtime.jvm.buffer.count` | `jvm.buffer.count` |
-| `process.runtime.jvm.buffer.limit` | `jvm.buffer.memory.limit` |
-| `process.runtime.jvm.buffer.usage` | `jvm.buffer.memory.used` (via `jvm.buffer.memory.usage` in v1.22 then renamed in v1.27) |
-| `process.runtime.jvm.classes.current_loaded` | `jvm.class.count` |
-| `process.runtime.jvm.classes.loaded` | `jvm.class.loaded` |
-| `process.runtime.jvm.classes.unloaded` | `jvm.class.unloaded` |
-| `process.runtime.jvm.cpu.recent_utilization` | `jvm.cpu.recent_utilization` |
-| `process.runtime.jvm.cpu.time` | `jvm.cpu.time` |
-| `process.runtime.jvm.gc.duration` | `jvm.gc.duration` |
-| `process.runtime.jvm.memory.committed` | `jvm.memory.committed` |
-| `process.runtime.jvm.memory.init` | `jvm.memory.init` |
-| `process.runtime.jvm.memory.limit` | `jvm.memory.limit` |
-| `process.runtime.jvm.memory.usage` | `jvm.memory.used` (via `jvm.memory.usage` in v1.22 then renamed in v1.24) |
-| `process.runtime.jvm.memory.usage_after_last_gc` | `jvm.memory.used_after_last_gc` (via `jvm.memory.usage_after_last_gc` in v1.22 then renamed in v1.24) |
-| `process.runtime.jvm.system.cpu.load_1m` | `jvm.system.cpu.load_1m` |
-| `process.runtime.jvm.system.cpu.utilization` | `jvm.system.cpu.utilization` |
-| `process.runtime.jvm.threads.count` | `jvm.thread.count` |
-
-## v1.23.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `thread.daemon` | `jvm.thread.daemon` |
-
-## v1.24.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `system.disk.io.direction` | `disk.io.direction` |
-| `system.network.io.direction` | `network.io.direction` |
-
-| Old Metric | v1.40.0 Metric |
-|-----------|---------------|
-| `jvm.memory.usage` | `jvm.memory.used` |
-| `jvm.memory.usage_after_last_gc` | `jvm.memory.used_after_last_gc` |
-
-## v1.25.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `container.labels` | `container.label` |
-| `db.cassandra.table` | `db.collection.name` |
-| `db.cosmosdb.container` | `db.collection.name` |
-| `db.mongodb.collection` | `db.collection.name` |
-| `db.name` | `db.namespace` |
-| `db.operation` | `db.operation.name` |
-| `db.sql.table` | `db.collection.name` |
-| `db.statement` | `db.query.text` |
-| `k8s.pod.labels` | `k8s.pod.label` |
-| `messaging.kafka.destination.partition` | `messaging.destination.partition.id` |
-| `messaging.operation` | `messaging.operation.type` |
-
-| Old Metric | v1.40.0 Metric |
-|-----------|---------------|
-| `process.open_file_descriptors` | `process.unix.file_descriptor.count` (via `process.open_file_descriptor.count` in v1.25 then renamed in v1.39) |
-| `process.threads` | `process.thread.count` |
-| `system.processes.count` | `system.process.count` |
-| `system.processes.created` | `system.process.created` |
-
-## v1.26.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `enduser.id` | `user.id` |
-| `messaging.client_id` | `messaging.client.id` |
-| `pool.name` | `db.client.connection.pool.name` (via `db.client.connections.pool.name` in v1.26 then renamed in v1.27) |
-| `state` | `db.client.connection.state` (via `db.client.connections.state` in v1.26 then renamed in v1.27) |
-
-| Old Metric | v1.40.0 Metric |
-|-----------|---------------|
-| `db.client.connections.idle.max` | `db.client.connection.idle.max` |
-| `db.client.connections.idle.min` | `db.client.connection.idle.min` |
-| `db.client.connections.max` | `db.client.connection.max` |
-| `db.client.connections.pending_requests` | `db.client.connection.pending_requests` |
-| `db.client.connections.timeouts` | `db.client.connection.timeouts` |
-| `db.client.connections.usage` | `db.client.connection.count` |
-
-## v1.27.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `container.cpu.state` | `cpu.mode` |
-| `db.client.connections.pool.name` | `db.client.connection.pool.name` |
-| `db.client.connections.state` | `db.client.connection.state` |
-| `db.elasticsearch.cluster.name` | `db.namespace` |
-| `deployment.environment` | `deployment.environment.name` |
-| `gen_ai.usage.completion_tokens` | `gen_ai.usage.output_tokens` |
-| `gen_ai.usage.prompt_tokens` | `gen_ai.usage.input_tokens` |
-| `messaging.eventhubs.consumer.group` | `messaging.consumer.group.name` |
-| `messaging.kafka.consumer.group` | `messaging.consumer.group.name` |
-| `messaging.kafka.message.offset` | `messaging.kafka.offset` |
-| `messaging.rocketmq.client_group` | `messaging.consumer.group.name` |
-| `messaging.servicebus.destination.subscription_name` | `messaging.destination.subscription.name` |
-| `process.cpu.state` | `cpu.mode` |
-| `system.cpu.state` | `cpu.mode` |
-| `tls.client.server_name` | `server.address` |
-
-| Old Metric | v1.40.0 Metric |
-|-----------|---------------|
-| `jvm.buffer.memory.usage` | `jvm.buffer.memory.used` |
-| `messaging.publish.messages` | `messaging.client.sent.messages` (via `messaging.client.published.messages` in v1.27 then renamed in v1.28) |
-
-## v1.28.0
-
-| Old Metric | v1.40.0 Metric |
-|-----------|---------------|
-| `messaging.client.published.messages` | `messaging.client.sent.messages` |
-
-## v1.29.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `process.executable.build_id.profiling` | `process.executable.build_id.htlhash` |
-| `system.device` | `network.interface.name` |
-| `vcs.repository.change.id` | `vcs.change.id` |
-| `vcs.repository.change.title` | `vcs.change.title` |
-| `vcs.repository.ref.name` | `vcs.ref.head.name` |
-| `vcs.repository.ref.revision` | `vcs.ref.head.revision` |
-| `vcs.repository.ref.type` | `vcs.ref.head.type` |
-
-## v1.30.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `code.column` | `code.column.number` |
-| `code.filepath` | `code.file.path` |
-| `code.function` | `code.function.name` |
-| `code.lineno` | `code.line.number` |
-| `db.cassandra.consistency_level` | `cassandra.consistency.level` |
-| `db.cassandra.coordinator.dc` | `cassandra.coordinator.dc` |
-| `db.cassandra.coordinator.id` | `cassandra.coordinator.id` |
-| `db.cassandra.idempotence` | `cassandra.query.idempotent` |
-| `db.cassandra.page_size` | `cassandra.page.size` |
-| `db.cassandra.speculative_execution_count` | `cassandra.speculative_execution.count` |
-| `db.cosmosdb.client_id` | `azure.client.id` |
-| `db.cosmosdb.connection_mode` | `azure.cosmosdb.connection.mode` |
-| `db.cosmosdb.consistency_level` | `azure.cosmosdb.consistency.level` |
-| `db.cosmosdb.regions_contacted` | `azure.cosmosdb.operation.contacted_regions` |
-| `db.cosmosdb.request_charge` | `azure.cosmosdb.operation.request_charge` |
-| `db.cosmosdb.request_content_length` | `azure.cosmosdb.request.body.size` |
-| `db.cosmosdb.sub_status_code` | `azure.cosmosdb.response.sub_status_code` |
-| `db.elasticsearch.node.name` | `elasticsearch.node.name` |
-| `db.system` | `db.system.name` |
-| `gen_ai.openai.request.seed` | `gen_ai.request.seed` |
-| `system.network.state` | `network.connection.state` |
-
-| Old Metric | v1.40.0 Metric |
-|-----------|---------------|
-| `db.client.cosmosdb.active_instance.count` | `azure.cosmosdb.client.active_instance.count` |
-| `db.client.cosmosdb.operation.request_charge` | `azure.cosmosdb.client.operation.request_charge` |
-
-## v1.31.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `android.state` | `android.app.state` |
-| `io.state` | `ios.app.state` |
-| `system.cpu.logical_number` | `cpu.logical_number` |
-
-| Old Metric | v1.40.0 Metric |
-|-----------|---------------|
-| `k8s.replication_controller.available_pods` | `k8s.replicationcontroller.pod.available` (renamed again in v1.38) |
-| `k8s.replication_controller.desired_pods` | `k8s.replicationcontroller.pod.desired` (renamed again in v1.38) |
-| `system.cpu.frequency` | `system.cpu.frequency` (renamed to `cpu.frequency` in v1.31, renamed back in v1.34) |
-| `system.cpu.time` | `system.cpu.time` (renamed to `cpu.time` in v1.31, renamed back in v1.34) |
-| `system.cpu.utilization` | `system.cpu.utilization` (renamed to `cpu.utilization` in v1.31, renamed back in v1.34) |
-
-## v1.32.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `feature_flag.evaluation.reason` | `feature_flag.result.reason` |
-| `feature_flag.variant` | `feature_flag.result.variant` |
-
-| Old Metric | v1.40.0 Metric |
-|-----------|---------------|
-| `otel.sdk.exporter.span.exported.count` | `otel.sdk.exporter.span.exported` |
-| `otel.sdk.exporter.span.inflight.count` | `otel.sdk.exporter.span.inflight` |
-| `otel.sdk.processor.span.processed.count` | `otel.sdk.processor.span.processed` |
-| `otel.sdk.span.ended.count` | `otel.sdk.span.ended` |
-| `otel.sdk.span.live.count` | `otel.sdk.span.live` |
-
-## v1.33.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `feature_flag.evaluation.error.message` | `feature_flag.error.message` (renamed to `error.message` in v1.33, then to `feature_flag.error.message` in v1.40) |
-| `feature_flag.provider_name` | `feature_flag.provider.name` |
-
-## v1.34.0
-
-Reverted the v1.31 cpu metric renames.
-
-| Old Metric | v1.40.0 Metric |
-|-----------|---------------|
-| `cpu.frequency` | `system.cpu.frequency` |
-| `cpu.time` | `system.cpu.time` |
-| `cpu.utilization` | `system.cpu.utilization` |
-
-## v1.35.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `az.namespace` | `azure.resource_provider.namespace` |
-| `az.service_request_id` | `azure.service.request.id` |
-
-| Old Metric | v1.40.0 Metric |
-|-----------|---------------|
-| `system.network.connections` | `system.network.connection.count` |
-
-## v1.37.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `container.runtime` | `container.runtime.name` |
-| `enduser.role` | `user.roles` |
-| `gen_ai.openai.request.service_tier` | `openai.request.service_tier` |
-| `gen_ai.openai.response.service_tier` | `openai.response.service_tier` |
-| `gen_ai.openai.response.system_fingerprint` | `openai.response.system_fingerprint` |
-| `gen_ai.system` | `gen_ai.provider.name` |
-
-## v1.38.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `process.context_switch_type` | `process.context_switch.type` |
-| `process.paging.fault_type` | `system.paging.fault.type` |
-| `system.paging.type` | `system.paging.fault.type` |
-| `system.process.status` | `process.state` |
-| `system.processes.status` | `process.state` |
-
-**Metric renames (32)** — the k8s restructure:
-
-| Old Metric | v1.40.0 Metric |
-|-----------|---------------|
-| `k8s.cronjob.active_jobs` | `k8s.cronjob.job.active` |
-| `k8s.daemonset.current_scheduled_nodes` | `k8s.daemonset.node.current_scheduled` |
-| `k8s.daemonset.desired_scheduled_nodes` | `k8s.daemonset.node.desired_scheduled` |
-| `k8s.daemonset.misscheduled_nodes` | `k8s.daemonset.node.misscheduled` |
-| `k8s.daemonset.ready_nodes` | `k8s.daemonset.node.ready` |
-| `k8s.deployment.available_pods` | `k8s.deployment.pod.available` |
-| `k8s.deployment.desired_pods` | `k8s.deployment.pod.desired` |
-| `k8s.hpa.current_pods` | `k8s.hpa.pod.current` |
-| `k8s.hpa.desired_pods` | `k8s.hpa.pod.desired` |
-| `k8s.hpa.max_pods` | `k8s.hpa.pod.max` |
-| `k8s.hpa.min_pods` | `k8s.hpa.pod.min` |
-| `k8s.job.active_pods` | `k8s.job.pod.active` |
-| `k8s.job.desired_successful_pods` | `k8s.job.pod.desired_successful` |
-| `k8s.job.failed_pods` | `k8s.job.pod.failed` |
-| `k8s.job.max_parallel_pods` | `k8s.job.pod.max_parallel` |
-| `k8s.job.successful_pods` | `k8s.job.pod.successful` |
-| `k8s.node.allocatable.cpu` | `k8s.node.cpu.allocatable` |
-| `k8s.node.allocatable.ephemeral_storage` | `k8s.node.ephemeral_storage.allocatable` |
-| `k8s.node.allocatable.memory` | `k8s.node.memory.allocatable` |
-| `k8s.node.allocatable.pods` | `k8s.node.pod.allocatable` |
-| `k8s.replicaset.available_pods` | `k8s.replicaset.pod.available` |
-| `k8s.replicaset.desired_pods` | `k8s.replicaset.pod.desired` |
-| `k8s.replicationcontroller.available_pods` | `k8s.replicationcontroller.pod.available` |
-| `k8s.replicationcontroller.desired_pods` | `k8s.replicationcontroller.pod.desired` |
-| `k8s.statefulset.current_pods` | `k8s.statefulset.pod.current` |
-| `k8s.statefulset.desired_pods` | `k8s.statefulset.pod.desired` |
-| `k8s.statefulset.ready_pods` | `k8s.statefulset.pod.ready` |
-| `k8s.statefulset.updated_pods` | `k8s.statefulset.pod.updated` |
-| `v8js.heap.space.available_size` | `v8js.memory.heap.space.available_size` |
-| `v8js.heap.space.physical_size` | `v8js.memory.heap.space.physical_size` |
-
-## v1.39.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `linux.memory.slab.state` | `system.memory.linux.slab.state` |
-| `peer.service` | `service.peer.name` |
-| `rpc.connect_rpc.error_code` | `rpc.response.status_code` |
-| `rpc.connect_rpc.request.metadata` | `rpc.request.metadata` |
-| `rpc.connect_rpc.response.metadata` | `rpc.response.metadata` |
-| `rpc.grpc.request.metadata` | `rpc.request.metadata` |
-| `rpc.grpc.response.metadata` | `rpc.response.metadata` |
-| `rpc.jsonrpc.request_id` | `jsonrpc.request.id` |
-| `rpc.jsonrpc.version` | `jsonrpc.protocol.version` |
-| `rpc.system` | `rpc.system.name` |
-
-| Old Metric | v1.40.0 Metric |
-|-----------|---------------|
-| `process.open_file_descriptor.count` | `process.unix.file_descriptor.count` |
-| `system.linux.memory.available` | `system.memory.linux.available` |
-| `system.linux.memory.slab.usage` | `system.memory.linux.slab.usage` |
-
-## v1.40.0
-
-| Old | v1.40.0 Name |
-|-----|-------------|
-| `feature_flag.evaluation.error.message` | `feature_flag.error.message` |
-
-| Old Metric | v1.40.0 Metric |
-|-----------|---------------|
-| `system.memory.shared` | `system.memory.linux.shared` |
-
----
-
-## Totals
-
-- **~170 attribute renames** across 21 versions
-- **~90 metric renames** across 14 versions
-- Schema URL: `https://opentelemetry.io/schemas/1.40.0`
-- Schema source: [schemas/1.40.0](https://github.com/open-telemetry/semantic-conventions/blob/main/schemas/1.40.0)
diff --git a/eng/semconv/bootstrap-weaver.sh b/eng/semconv/bootstrap-weaver.sh
new file mode 100755
index 000000000..cb64a65d7
--- /dev/null
+++ b/eng/semconv/bootstrap-weaver.sh
@@ -0,0 +1,53 @@
+#!/usr/bin/env bash
+# One-time setup for the Weaver-based semconv pipeline.
+# Downloads the Weaver CLI and clones the upstream semconv registry at the
+# version declared in the Weaver template config. Artifacts land under .tools/.
+
+set -euo pipefail
+
+REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
+TOOLS_DIR="${REPO_ROOT}/.tools"
+WEAVER_DIR="${TOOLS_DIR}/weaver"
+UPSTREAM_DIR="${TOOLS_DIR}/semconv-upstream"
+WEAVER_YAML="${REPO_ROOT}/eng/semconv/templates/registry/qyl/weaver.yaml"
+
+# Single-source semconv version from weaver.yaml params so bootstrap + templates
+# can't drift apart. `semconv_version: "1.40.0"` → `v1.40.0` as the git tag.
+WEAVER_VERSION="v0.22.1"
+SEMCONV_TAG="v$(sed -n 's/^[[:space:]]*semconv_version:[[:space:]]*"\(.*\)"/\1/p' "${WEAVER_YAML}")"
+
+if [ -z "${SEMCONV_TAG}" ] || [ "${SEMCONV_TAG}" = "v" ]; then
+ echo "Could not read semconv_version from ${WEAVER_YAML}" >&2
+ exit 1
+fi
+
+UNAME_S="$(uname -s)"
+UNAME_M="$(uname -m)"
+case "${UNAME_S}:${UNAME_M}" in
+ Darwin:arm64|Darwin:aarch64) WEAVER_ARCH="aarch64-apple-darwin" ;;
+ Darwin:x86_64) WEAVER_ARCH="x86_64-apple-darwin" ;;
+ Linux:x86_64) WEAVER_ARCH="x86_64-unknown-linux-gnu" ;;
+ *) echo "Unsupported platform: ${UNAME_S}/${UNAME_M}" >&2; exit 1 ;;
+esac
+
+mkdir -p "${WEAVER_DIR}"
+if [ ! -x "${WEAVER_DIR}/weaver-${WEAVER_ARCH}/weaver" ]; then
+ echo "Downloading Weaver ${WEAVER_VERSION} (${WEAVER_ARCH})..."
+ curl -sL \
+ "https://github.com/open-telemetry/weaver/releases/download/${WEAVER_VERSION}/weaver-${WEAVER_ARCH}.tar.xz" \
+ -o "${WEAVER_DIR}/weaver.tar.xz"
+ tar -xf "${WEAVER_DIR}/weaver.tar.xz" -C "${WEAVER_DIR}"
+ rm "${WEAVER_DIR}/weaver.tar.xz"
+fi
+
+if [ ! -d "${UPSTREAM_DIR}" ]; then
+ echo "Cloning open-telemetry/semantic-conventions@${SEMCONV_TAG}..."
+ git clone --depth 1 --branch "${SEMCONV_TAG}" \
+ https://github.com/open-telemetry/semantic-conventions.git "${UPSTREAM_DIR}"
+fi
+
+echo ""
+echo "Weaver: ${WEAVER_DIR}/weaver-${WEAVER_ARCH}/weaver ($("${WEAVER_DIR}/weaver-${WEAVER_ARCH}/weaver" --version))"
+echo "Upstream: ${UPSTREAM_DIR} (semconv ${SEMCONV_TAG})"
+echo ""
+echo "Next: ./eng/semconv/run-weaver.sh"
diff --git a/eng/semconv/generate-semconv.ts b/eng/semconv/generate-semconv.ts
deleted file mode 100644
index b4e54e18f..000000000
--- a/eng/semconv/generate-semconv.ts
+++ /dev/null
@@ -1,1086 +0,0 @@
-#!/usr/bin/env npx tsx
-/**
- * OTel Semantic Conventions Generator
- *
- * Generates TypeScript, C#, TypeSpec, and DuckDB column definitions from
- * @opentelemetry/semantic-conventions NPM package.
- *
- * Usage:
- * npm run generate # Generate all outputs
- * npm run generate:ts # TypeScript only
- * npm run generate:cs # C# only
- * npm run generate:tsp # TypeSpec only
- * npm run generate:sql # DuckDB only
- */
-
-import * as fs from "fs";
-import * as path from "path";
-import {fileURLToPath} from "url";
-
-const __filename = fileURLToPath(import.meta.url);
-const __dirname = path.dirname(__filename);
-
-// ============================================================================
-// Types
-// ============================================================================
-
-interface Attribute {
- exportName: string; // ATTR_GEN_AI_SYSTEM
- value: string; // "gen_ai.system"
-}
-
-interface EnumValue {
- attributePrefix: string; // GEN_AI_SYSTEM
- exportName: string; // GEN_AI_SYSTEM_VALUE_OPENAI
- memberName: string; // OPENAI
- value: string; // "openai"
-}
-
-interface ParsedData {
- version: string;
- attributes: Attribute[];
- attrMap: Map;
- enums: Map; // grouped by attributePrefix
-}
-
-// Protocol facade types (driven by qyl-extensions.json)
-interface FacadeEnumDef {
- upstream?: string;
- summary?: string;
- extensions?: Record;
- values?: Record;
-}
-
-interface FacadeCustomClass {
- summary?: string;
- values: Record;
-}
-
-interface FacadeConfig {
- className: string;
- namespace: string;
- output: string;
- description: string;
- upstreamPrefix: string;
- metadata?: Record;
- attributes: string[];
- propertyOverrides?: Record;
- crossCutting?: Record;
- enums?: Record;
- customClasses?: Record;
-}
-
-interface ExtensionsConfig {
- facades: FacadeConfig[];
-}
-
-// ============================================================================
-// Configuration
-// ============================================================================
-
-const CONFIG = {
- // Filter to only include these prefixes (empty = all)
- includePrefixes: [
- // AI
- "gen_ai", "code",
- // Transport
- "http", "rpc", "messaging", "url", "user_agent", "signalr", "kestrel",
- // Data
- "db", "file", "vcs", "artifact", "elasticsearch",
- // Infra
- "cloud", "container", "k8s", "host", "os", "faas", "webengine",
- // Security
- "network", "tls", "dns",
- // Runtime
- "process", "thread", "system", "dotnet", "aspnetcore",
- // Identity
- "user", "enduser", "geo", "client", "server", "service", "telemetry",
- // Observe
- "browser", "session", "exception", "error", "log", "feature_flag", "otel", "test",
- // Profiling (v1development, Development stability)
- "profile", "pprof",
- // Ops
- "cicd", "deployment",
- // Vendor AI
- "openai", "azure",
- // Vendor DB / Cloud
- "oracle", "oracle_cloud",
- ],
-
- // Output paths (relative to this script) - Direct to final destinations
- outputs: {
- typescript: "../../src/qyl.dashboard/src/lib/semconv.ts",
- csharp: "../../src/qyl.instrumentation/Instrumentation/SemanticConventions.g.cs",
- csharpUtf8: "../../src/qyl.instrumentation/Instrumentation/SemanticConventions.Utf8.g.cs",
- typespec: "../../core/specs/generated/semconv.g.tsp",
- duckdb: "../../src/qyl.collector/Storage/promoted-columns.g.sql",
- },
-
- // TypeSpec reserved keywords that need escaping
- typespecReservedKeywords: new Set([
- "namespace", "model", "interface", "enum", "union", "alias",
- "scalar", "op", "using", "import", "is", "extends", "unknown",
- "void", "never", "null", "true", "false", "if", "else", "return",
- ]),
-
- // C# namespace
- csharpNamespace: "Qyl.Instrumentation.Instrumentation",
-
- // TypeSpec namespace
- typespecNamespace: "OTel.SemConv",
-
- // DuckDB type mappings based on attribute suffix
- duckDbTypes: new Map([
- ["_tokens", "BIGINT"],
- ["_count", "BIGINT"],
- ["_size", "BIGINT"],
- ["_duration", "DOUBLE"],
- ["_temperature", "DOUBLE"],
- ["_top_p", "DOUBLE"],
- ["_top_k", "BIGINT"],
- ["_max_tokens", "BIGINT"],
- ["_seed", "BIGINT"],
- ["_frequency_penalty", "DOUBLE"],
- ["_presence_penalty", "DOUBLE"],
- ]),
-
- // TypeSpec type mappings based on attribute suffix
- typespecTypes: new Map([
- ["_tokens", "int64"],
- ["_count", "int64"],
- ["_size", "int64"],
- ["_duration", "float64"],
- ["_temperature", "float64"],
- ["_top_p", "float64"],
- ["_top_k", "int64"],
- ["_max_tokens", "int64"],
- ["_seed", "int64"],
- ["_frequency_penalty", "float64"],
- ["_presence_penalty", "float64"],
- ["_port", "int32"],
- ["_pid", "int32"],
- ["_bytes", "int64"],
- ["_length", "int64"],
- ]),
-};
-
-// ============================================================================
-// Parser
-// ============================================================================
-
-function getPackageVersion(): string {
- const pkgPath = path.join(
- __dirname,
- "node_modules/@opentelemetry/semantic-conventions/package.json"
- );
- const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
- return pkg.version;
-}
-
-function parseDeclarationFile(filePath: string): {
- attrs: Attribute[];
- enums: EnumValue[];
-} {
- const content = fs.readFileSync(filePath, "utf-8");
- const attrs: Attribute[] = [];
- const enums: EnumValue[] = [];
-
- // Match: export declare const ATTR_GEN_AI_SYSTEM: "gen_ai.system";
- // Also: export const ATTR_GEN_AI_SYSTEM = 'gen_ai.system';
- const attrRegex =
- /export\s+(?:declare\s+)?const\s+(ATTR_[A-Z0-9_]+)\s*(?::\s*['"]([^'"]+)['"]|=\s*['"]([^'"]+)['"])/g;
- let match: RegExpExecArray | null;
- while ((match = attrRegex.exec(content)) !== null) {
- attrs.push({
- exportName: match[1],
- value: match[2] || match[3], // Type annotation or assignment
- });
- }
-
- // Match enum values: export declare const GEN_AI_SYSTEM_VALUE_OPENAI: "openai";
- // Also: export const GEN_AI_SYSTEM_VALUE_OPENAI = 'openai';
- const enumRegex =
- /export\s+(?:declare\s+)?const\s+([A-Z0-9_]+)_VALUE_([A-Z0-9_]+)\s*(?::\s*['"]([^'"]+)['"]|=\s*['"]([^'"]+)['"])/g;
- while ((match = enumRegex.exec(content)) !== null) {
- enums.push({
- attributePrefix: match[1],
- exportName: `${match[1]}_VALUE_${match[2]}`,
- memberName: match[2],
- value: match[3] || match[4], // Type annotation or assignment
- });
- }
-
- return {attrs, enums};
-}
-
-function parse(): ParsedData {
- const version = getPackageVersion();
-
- // Parse all .d.ts files in the package
- const semconvDir = path.join(
- __dirname,
- "node_modules/@opentelemetry/semantic-conventions/build/src"
- );
-
- const allAttrs: Attribute[] = [];
- const allEnums: EnumValue[] = [];
-
- function walkDir(dir: string) {
- const files = fs.readdirSync(dir);
- for (const file of files) {
- const fullPath = path.join(dir, file);
- const stat = fs.statSync(fullPath);
- if (stat.isDirectory()) {
- walkDir(fullPath);
- } else if (file.endsWith(".d.ts")) {
- const {attrs, enums} = parseDeclarationFile(fullPath);
- allAttrs.push(...attrs);
- allEnums.push(...enums);
- }
- }
- }
-
- walkDir(semconvDir);
-
- // Filter by prefix if configured
- const filteredAttrs =
- CONFIG.includePrefixes.length > 0
- ? allAttrs.filter((a) =>
- CONFIG.includePrefixes.some((p) => a.value.startsWith(p))
- )
- : allAttrs;
-
- const filteredEnums =
- CONFIG.includePrefixes.length > 0
- ? allEnums.filter((e) =>
- CONFIG.includePrefixes.some((p) => {
- // Normalize both to use underscores for consistent comparison
- const normalizedPrefix = p.replace(/\./g, "_");
- const enumPrefixNormalized = e.attributePrefix.toLowerCase();
- return e.value.startsWith(p) ||
- e.value.startsWith(normalizedPrefix) ||
- enumPrefixNormalized.startsWith(normalizedPrefix);
- })
- )
- : allEnums;
-
- // Group enums by attribute prefix
- const enumMap = new Map();
- for (const e of filteredEnums) {
- const group = enumMap.get(e.attributePrefix) || [];
- group.push(e);
- enumMap.set(e.attributePrefix, group);
- }
-
- // Dedupe attributes by value
- const seenValues = new Set();
- const dedupedAttrs = filteredAttrs.filter((a) => {
- if (seenValues.has(a.value)) return false;
- seenValues.add(a.value);
- return true;
- });
-
- // Sort for consistent output
- dedupedAttrs.sort((a, b) => a.value.localeCompare(b.value));
-
- // O(1) lookup by attribute value
- const attrMap = new Map(dedupedAttrs.map(a => [a.value, a]));
-
- console.log(
- ` Found ${dedupedAttrs.length} attributes, ${enumMap.size} enum groups`
- );
-
- return {
- version,
- attributes: dedupedAttrs,
- attrMap,
- enums: enumMap,
- };
-}
-
-// ============================================================================
-// TypeScript Generator
-// ============================================================================
-
-function generateTypeScript(data: ParsedData): string {
- const lines: string[] = [
- `// `,
- `// Generated from @opentelemetry/semantic-conventions v${data.version}`,
- `// Do not edit manually - run 'npm run generate' in SemconvGenerator`,
- ``,
- `// Attribute keys`,
- ];
-
- // Group attributes by prefix for readability
- const grouped = groupByPrefix(data.attributes.map((a) => a.value));
-
- for (const [prefix, attrs] of grouped) {
- lines.push(``);
- lines.push(`// ${prefix}`);
- for (const attr of attrs) {
- const found = data.attrMap.get(attr);
- if (found) {
- lines.push(`export const ${attrToConstName(found.value)} = "${found.value}";`);
- }
- }
- }
-
- // Enum values as objects
- if (data.enums.size > 0) {
- lines.push(``);
- lines.push(`// Enum values`);
-
- for (const [prefix, values] of data.enums) {
- const enumName = snakeToPascal(prefix) + "Values";
- lines.push(`export const ${enumName} = {`);
- for (const v of values) {
- const memberName = snakeToPascal(v.memberName);
- lines.push(` ${memberName}: "${v.value}",`);
- }
- lines.push(`} as const;`);
- lines.push(``);
- }
- }
-
- return lines.join("\n");
-}
-
-// ============================================================================
-// C# Generator
-// ============================================================================
-
-function generateCSharp(data: ParsedData): string {
- const lines: string[] = [
- `// `,
- `// Generated from @opentelemetry/semantic-conventions v${data.version}`,
- `// Do not edit manually - run 'npm run generate' in SemconvGenerator`,
- ``,
- `namespace ${CONFIG.csharpNamespace};`,
- ``,
- ];
-
- // Group attributes by prefix
- const grouped = groupByPrefix(data.attributes.map((a) => a.value));
-
- for (const [prefix, attrs] of grouped) {
- const className = prefixToClassName(prefix) + "Attributes";
- lines.push(`/// `);
- lines.push(`/// Semantic convention attributes for ${prefix}.*`);
- lines.push(`/// `);
- lines.push(`public static class ${className}`);
- lines.push(`{`);
-
- for (const attr of attrs) {
- const found = data.attrMap.get(attr);
- if (found) {
- const propName = attrToCSharpPropName(found.value, prefix);
- lines.push(` /// ${found.value}`);
- lines.push(` public const string ${propName} = "${found.value}";`);
- lines.push(``);
- }
- }
-
- lines.push(`}`);
- lines.push(``);
- }
-
- // Enum values
- for (const [prefix, values] of data.enums) {
- const className = prefixToClassName(prefix.toLowerCase().replace(/_/g, ".")) + "Values";
- lines.push(`/// `);
- lines.push(`/// Enum values for ${prefix.toLowerCase().replace(/_/g, ".")}`);
- lines.push(`/// `);
- lines.push(`public static class ${className}`);
- lines.push(`{`);
-
- for (const v of values) {
- const propName = snakeToPascal(v.memberName);
- lines.push(` /// ${v.value}`);
- lines.push(` public const string ${propName} = "${v.value}";`);
- lines.push(``);
- }
-
- lines.push(`}`);
- lines.push(``);
- }
-
- return lines.join("\n");
-}
-
-// ============================================================================
-// C# UTF-8 Generator (ReadOnlySpan for zero-allocation parsing)
-// ============================================================================
-
-function generateCSharpUtf8(data: ParsedData): string {
- const lines: string[] = [
- `// `,
- `// Generated from @opentelemetry/semantic-conventions v${data.version}`,
- `// Do not edit manually - run 'npm run generate' in SemconvGenerator`,
- `//`,
- `// UTF-8 ReadOnlySpan for zero-allocation OTLP parsing hot paths`,
- ``,
- `namespace ${CONFIG.csharpNamespace};`,
- ``,
- ];
-
- // Group attributes by prefix
- const grouped = groupByPrefix(data.attributes.map((a) => a.value));
-
- for (const [prefix, attrs] of grouped) {
- const className = prefixToClassName(prefix) + "Utf8";
- lines.push(`/// `);
- lines.push(`/// UTF-8 attribute keys for ${prefix}.* (zero-allocation parsing)`);
- lines.push(`/// `);
- lines.push(`public static class ${className}`);
- lines.push(`{`);
-
- for (const attr of attrs) {
- const found = data.attrMap.get(attr);
- if (found) {
- const propName = attrToCSharpPropName(found.value, prefix);
- lines.push(` /// ${found.value}`);
- lines.push(` public static ReadOnlySpan ${propName} => "${found.value}"u8;`);
- lines.push(``);
- }
- }
-
- lines.push(`}`);
- lines.push(``);
- }
-
- // Enum values as UTF-8
- for (const [prefix, values] of data.enums) {
- const className = prefixToClassName(prefix.toLowerCase().replace(/_/g, ".")) + "Utf8Values";
- lines.push(`/// `);
- lines.push(`/// UTF-8 enum values for ${prefix.toLowerCase().replace(/_/g, ".")}`);
- lines.push(`/// `);
- lines.push(`public static class ${className}`);
- lines.push(`{`);
-
- for (const v of values) {
- const propName = snakeToPascal(v.memberName);
- lines.push(` /// ${v.value}`);
- lines.push(` public static ReadOnlySpan ${propName} => "${v.value}"u8;`);
- lines.push(``);
- }
-
- lines.push(`}`);
- lines.push(``);
- }
-
- return lines.join("\n");
-}
-
-// ============================================================================
-// TypeSpec Generator (Enhanced for QYL integration)
-// ============================================================================
-
-function generateTypeSpec(data: ParsedData): string {
- const lines: string[] = [
- `// `,
- `// Generated from @opentelemetry/semantic-conventions v${data.version}`,
- `// Do not edit manually - run 'npm run generate:tsp' in SemconvGenerator`,
- `//`,
- `// Usage in your TypeSpec files:`,
- `// import "./semconv.g.tsp";`,
- `// using ${CONFIG.typespecNamespace};`,
- `//`,
- `// model MySpan {`,
- `// @encodedName("application/json", Keys.GenAi.providerName)`,
- `// provider: GenAiProviderNameValue;`,
- `// }`,
- ``,
- `import "@typespec/http";`,
- ``,
- `using TypeSpec.Http;`,
- ``,
- `namespace ${CONFIG.typespecNamespace};`,
- ``,
- `// ============================================================================`,
- `// Common OTel Scalars (for type-safe attribute values)`,
- `// ============================================================================`,
- ``,
- `/** 128-bit trace identifier (32 hex chars) */`,
- `@minLength(32) @maxLength(32)`,
- `@pattern("^[a-f0-9]{32}$")`,
- `scalar TraceId extends string;`,
- ``,
- `/** 64-bit span identifier (16 hex chars) */`,
- `@minLength(16) @maxLength(16)`,
- `@pattern("^[a-f0-9]{16}$")`,
- `scalar SpanId extends string;`,
- ``,
- `/** Token count (always int64 per semconv) */`,
- `scalar TokenCount extends int64;`,
- ``,
- `/** Duration in seconds (float64) */`,
- `scalar DurationSeconds extends float64;`,
- ``,
- `/** Duration in nanoseconds (int64) */`,
- `scalar DurationNanos extends int64;`,
- ``,
- `/** Port number */`,
- `@minValue(1) @maxValue(65535)`,
- `scalar Port extends int32;`,
- ``,
- `/** Byte count */`,
- `@minValue(0)`,
- `scalar ByteCount extends int64;`,
- ``,
- ];
-
- // Group attributes by top-level domain (gen_ai, http, db, etc.)
- const domainGroups = groupByTopLevelPrefix(data.attributes.map(a => a.value));
-
- // Build a map of attribute prefix -> enum values for quick lookup
- const enumLookup = buildEnumLookup(data.enums);
-
- // ========================================================================
- // Generate Keys namespace with string constants
- // ========================================================================
- lines.push(`// ============================================================================`);
- lines.push(`// Attribute Key Constants (use with @encodedName)`);
- lines.push(`// ============================================================================`);
- lines.push(`// Example: @encodedName("application/json", Keys.GenAi.providerName)`);
- lines.push(`// ============================================================================`);
- lines.push(``);
- lines.push(`namespace Keys {`);
-
- for (const [domain, attrs] of domainGroups) {
- const nsName = prefixToClassName(domain);
- lines.push(` /** ${domain}.* attribute keys */`);
- lines.push(` namespace ${nsName} {`);
-
- for (const attr of attrs) {
- const found = data.attrMap.get(attr);
- if (found) {
- const propName = attrToTypeSpecPropName(found.value, domain);
- lines.push(` /** "${found.value}" */`);
- // propName is already escaped by attrToTypeSpecPropName
- lines.push(` alias ${propName} = "${found.value}";`);
- }
- }
-
- lines.push(` }`);
- lines.push(``);
- }
-
- lines.push(`}`);
- lines.push(``);
-
- // ========================================================================
- // Generate enum union types (deduplicated)
- // ========================================================================
- lines.push(`// ============================================================================`);
- lines.push(`// Enum Value Types (union types for known values)`);
- lines.push(`// ============================================================================`);
- lines.push(``);
-
- // Track emitted enums to avoid duplicates
- const emittedEnums = new Set();
-
- for (const [enumPrefix, values] of data.enums) {
- const enumName = prefixToClassName(enumPrefix.toLowerCase().replace(/_/g, ".")) + "Value";
-
- // Skip if already emitted
- if (emittedEnums.has(enumName)) {
- continue;
- }
- emittedEnums.add(enumName);
-
- const attrKey = enumPrefix.toLowerCase().replace(/_/g, ".");
-
- lines.push(`/** Known values for ${attrKey} */`);
- lines.push(`union ${enumName} {`);
-
- for (const v of values) {
- const memberName = escapeTypeSpecKeyword(snakeToCamel(v.memberName));
- lines.push(` /** "${v.value}" */`);
- lines.push(` ${memberName}: "${v.value}",`);
- }
-
- lines.push(` /** Allow unknown/custom values */`);
- lines.push(` string,`);
- lines.push(`}`);
- lines.push(``);
- }
-
- // ========================================================================
- // Generate attribute models per domain
- // ========================================================================
- for (const [domain, attrs] of domainGroups) {
- const modelName = prefixToClassName(domain) + "Attributes";
-
- lines.push(`// ============================================================================`);
- lines.push(`// ${domain}.* Attributes Model`);
- lines.push(`// ============================================================================`);
- lines.push(``);
-
- lines.push(`/** Semantic convention attributes for ${domain}.* */`);
- lines.push(`model ${modelName} {`);
-
- for (const attr of attrs) {
- const found = data.attrMap.get(attr);
- if (found) {
- const propName = attrToTypeSpecPropName(found.value, domain);
- const propType = inferTypeSpecType(found.value, enumLookup);
- lines.push(` /** ${found.value} */`);
- lines.push(` @encodedName("application/json", "${found.value}")`);
- lines.push(` ${propName}?: ${propType};`);
- lines.push(``);
- }
- }
-
- lines.push(`}`);
- lines.push(``);
- }
-
- // Note: Combined model (AllOTelAttributes) intentionally omitted due to
- // property name collisions across domains (name, id, version, etc.)
- // Use individual domain models instead: GenAiAttributes, DbAttributes, etc.
-
- return lines.join("\n");
-}
-
-function buildEnumLookup(enums: Map): Map {
- // Map from attribute key pattern to enum type name
- // e.g., "gen_ai.system" -> "GenAiSystemValue"
- const lookup = new Map();
-
- for (const [prefix] of enums) {
- // Convert GEN_AI_SYSTEM -> gen_ai.system
- const attrKey = prefix.toLowerCase().replace(/_/g, ".");
- const enumName = prefixToClassName(attrKey) + "Value";
- lookup.set(attrKey, enumName);
- }
-
- return lookup;
-}
-
-
-function inferTypeSpecType(attrName: string, enumLookup: Map): string {
- // Check if this attribute has known enum values
- const enumType = enumLookup.get(attrName);
- if (enumType) {
- return enumType;
- }
-
- // Check suffix mappings
- for (const [suffix, type] of CONFIG.typespecTypes) {
- if (attrName.endsWith(suffix)) {
- return type;
- }
- }
-
- // Default to string
- return "string";
-}
-
-function attrToTypeSpecPropName(attr: string, domain: string): string {
- // gen_ai.request.model with domain gen_ai -> requestModel
- // Remove the domain prefix and convert to camelCase
- const withoutDomain = attr.startsWith(domain + ".")
- ? attr.slice(domain.length + 1)
- : attr;
-
- // Convert dots and underscores to camelCase
- const parts = withoutDomain.split(/[._]/);
- const identifier = parts
- .map((p, i) => i === 0 ? p.toLowerCase() : p.charAt(0).toUpperCase() + p.slice(1).toLowerCase())
- .join("");
-
- // Escape TypeSpec reserved keywords with backticks
- return escapeTypeSpecKeyword(identifier);
-}
-
-function snakeToCamel(snake: string): string {
- const parts = snake.toLowerCase().split("_");
- return parts
- .map((p, i) => i === 0 ? p : p.charAt(0).toUpperCase() + p.slice(1))
- .join("");
-}
-
-/**
- * Escapes TypeSpec reserved keywords with backticks.
- * e.g., "namespace" -> "`namespace`", "unknown" -> "`unknown`"
- */
-function escapeTypeSpecKeyword(identifier: string): string {
- if (CONFIG.typespecReservedKeywords.has(identifier)) {
- return `\`${identifier}\``;
- }
- return identifier;
-}
-
-// ============================================================================
-// DuckDB Generator
-// ============================================================================
-
-function generateDuckDb(data: ParsedData): string {
- const lines: string[] = [
- `-- `,
- `-- Generated from @opentelemetry/semantic-conventions v${data.version}`,
- `-- Do not edit manually - run 'npm run generate' in SemconvGenerator`,
- `--`,
- `-- Promoted columns for fast queries (extracted from attributes_json)`,
- `-- Include in CREATE TABLE statements as needed`,
- ``,
- ];
-
- // Group attributes by prefix
- const grouped = groupByPrefix(data.attributes.map((a) => a.value));
-
- for (const [prefix, attrs] of grouped) {
- lines.push(`-- ${prefix} attributes`);
-
- for (const attr of attrs) {
- const columnName = attr.replace(/\./g, "_");
- const duckDbType = inferDuckDbType(attr);
- lines.push(`${columnName} ${duckDbType},`);
- }
-
- lines.push(``);
- }
-
- return lines.join("\n");
-}
-
-function inferDuckDbType(attrName: string): string {
- // Check suffix mappings
- for (const [suffix, type] of CONFIG.duckDbTypes) {
- if (attrName.endsWith(suffix)) {
- return type;
- }
- }
- // Default to VARCHAR
- return "VARCHAR";
-}
-
-// ============================================================================
-// Contracts Facade Generator (qyl.contracts domain facades)
-// ============================================================================
-
-function generateProtocolFacades(data: ParsedData): void {
- const configPath = path.join(__dirname, "qyl-extensions.json");
- if (!fs.existsSync(configPath)) {
- console.warn(" qyl-extensions.json not found, skipping protocol facades");
- return;
- }
-
- const config: ExtensionsConfig = JSON.parse(fs.readFileSync(configPath, "utf-8"));
-
- for (const facade of config.facades) {
- const output = generateFacadeClass(data, facade);
- const outputPath = path.join(__dirname, facade.output);
- fs.mkdirSync(path.dirname(outputPath), {recursive: true});
- fs.writeFileSync(outputPath, output);
- console.log(` ✓ Protocol facade: ${facade.output}`);
- }
-}
-
-function generateFacadeClass(data: ParsedData, facade: FacadeConfig): string {
- const lines: string[] = [];
- const version = data.version;
-
- // Header
- lines.push(`// `);
- lines.push(`// Generated from @opentelemetry/semantic-conventions v${version} + qyl-extensions.json`);
- lines.push(`// Do not edit manually - run 'npm run generate:protocol' in eng/semconv`);
- lines.push(``);
- lines.push(`namespace ${facade.namespace};`);
- lines.push(``);
-
- // Class summary
- lines.push(`/// `);
- const descResolved = facade.description.replace(/\{version}/g, version);
- for (const descLine of descResolved.split("\n")) {
- lines.push(`/// ${descLine}`);
- }
- lines.push(`/// `);
- lines.push(`public static class ${facade.className}`);
- lines.push(`{`);
-
- // Metadata constants (SchemaUrl, SourceName, etc.)
- if (facade.metadata) {
- for (const [name, template] of Object.entries(facade.metadata)) {
- const value = template.replace(/\{version}/g, version);
- lines.push(` /// ${name}.`);
- lines.push(` public const string ${name} = "${value}";`);
- lines.push(``);
- }
- }
-
- // Upstream attributes (flattened from the domain prefix)
- for (const key of facade.attributes) {
- const override = facade.propertyOverrides?.[key];
- const propName = override ?? attrToCSharpPropName(key, facade.upstreamPrefix);
-
- const found = data.attrMap.get(key);
- if (!found) {
- console.warn(` ⚠ '${key}' not found in upstream v${version}`);
- }
-
- lines.push(` /// ${key}`);
- lines.push(` public const string ${propName} = "${key}";`);
- lines.push(``);
- }
-
- // Cross-cutting attributes (from other namespaces)
- if (facade.crossCutting) {
- for (const [propName, key] of Object.entries(facade.crossCutting)) {
- lines.push(` /// ${key}`);
- lines.push(` public const string ${propName} = "${key}";`);
- lines.push(``);
- }
- }
-
- // Nested enum classes
- if (facade.enums) {
- for (const [className, enumDef] of Object.entries(facade.enums)) {
- const summary = enumDef.summary ?? `Well-known ${className.toLowerCase()} values.`;
- lines.push(` /// ${summary}`);
- lines.push(` public static class ${className}`);
- lines.push(` {`);
-
- // Upstream enum values (auto-named via snakeToPascal)
- if (enumDef.upstream) {
- const upstreamValues = data.enums.get(enumDef.upstream) ?? [];
- if (upstreamValues.length === 0) {
- console.warn(` ⚠ No upstream enum values for '${enumDef.upstream}'`);
- }
- for (const v of upstreamValues) {
- const memberName = snakeToPascal(v.memberName);
- lines.push(` /// ${v.value}`);
- lines.push(` public const string ${memberName} = "${v.value}";`);
- lines.push(``);
- }
-
- // Extension values after upstream
- if (enumDef.extensions) {
- lines.push(` // qyl extensions`);
- lines.push(``);
- for (const [prop, val] of Object.entries(enumDef.extensions)) {
- lines.push(` /// ${val}`);
- lines.push(` public const string ${prop} = "${val}";`);
- lines.push(``);
- }
- }
- }
-
- // Fully custom values (no upstream)
- if (enumDef.values) {
- for (const [prop, val] of Object.entries(enumDef.values)) {
- lines.push(` /// ${val}`);
- lines.push(` public const string ${prop} = "${val}";`);
- lines.push(``);
- }
- }
-
- lines.push(` }`);
- lines.push(``);
- }
- }
-
- // Nested custom classes (Metrics, Events, Deprecated)
- if (facade.customClasses) {
- for (const [className, classDef] of Object.entries(facade.customClasses)) {
- const summary = classDef.summary ?? `${className} constants.`;
- lines.push(` /// ${summary}`);
- lines.push(` public static class ${className}`);
- lines.push(` {`);
-
- for (const [prop, val] of Object.entries(classDef.values)) {
- lines.push(` /// ${val}`);
- lines.push(` public const string ${prop} = "${val}";`);
- lines.push(``);
- }
-
- lines.push(` }`);
- lines.push(``);
- }
- }
-
- lines.push(`}`);
- lines.push(``);
-
- return lines.join("\n");
-}
-
-// ============================================================================
-// Helpers
-// ============================================================================
-
-function groupByPrefix(values: string[]): Map {
- const groups = new Map();
- for (const v of values) {
- const parts = v.split(".");
- const prefix = parts.slice(0, 2).join("."); // e.g., "gen_ai"
- const group = groups.get(prefix) || [];
- group.push(v);
- groups.set(prefix, group);
- }
- return groups;
-}
-
-function groupByTopLevelPrefix(values: string[]): Map {
- const groups = new Map();
- for (const v of values) {
- const parts = v.split(".");
- // Use first part only: gen_ai.request.model -> gen_ai
- const prefix = parts[0];
- const group = groups.get(prefix) || [];
- group.push(v);
- groups.set(prefix, group);
- }
- return groups;
-}
-
-function attrToConstName(attr: string): string {
- // gen_ai.system -> GEN_AI_SYSTEM
- return attr.toUpperCase().replace(/\./g, "_");
-}
-
-function prefixToClassName(prefix: string): string {
- // gen_ai -> GenAi
- return prefix
- .split(/[._]/)
- .map((p) => p.charAt(0).toUpperCase() + p.slice(1).toLowerCase())
- .join("");
-}
-
-function attrToCSharpPropName(attr: string, prefix: string): string {
- // gen_ai.request.model with prefix gen_ai -> RequestModel
- // gen_ai.system with prefix gen_ai.system -> Value (fallback for exact match)
- if (!attr || !prefix) {
- // Fallback: PascalCase the full attribute name
- return (attr ?? "Unknown").split(/[._]/).map(s => s.charAt(0).toUpperCase() + s.slice(1).toLowerCase()).join("");
- }
- if (attr === prefix || attr.length <= prefix.length) {
- // Extract last segment as the property name
- const parts = attr.split(".");
- const lastPart = parts[parts.length - 1];
- return lastPart.charAt(0).toUpperCase() + lastPart.slice(1).toLowerCase();
- }
- const withoutPrefix = attr.slice(prefix.length + 1); // remove "gen_ai."
- return withoutPrefix
- .split(/[._]/)
- .map((p) => p.charAt(0).toUpperCase() + p.slice(1).toLowerCase())
- .join("");
-}
-
-function snakeToPascal(snake: string): string {
- return snake
- .toLowerCase()
- .split("_")
- .map((p) => p.charAt(0).toUpperCase() + p.slice(1))
- .join("");
-}
-
-
-// ============================================================================
-// Main
-// ============================================================================
-
-function parseArg(args: string[], name: string): string | undefined {
- const prefix = `--${name}=`;
- const arg = args.find(a => a.startsWith(prefix));
- return arg ? arg.slice(prefix.length) : undefined;
-}
-
-function main() {
- const args = process.argv.slice(2);
- const tsOnly = args.includes("--ts-only");
- const csOnly = args.includes("--cs-only");
- const utf8Only = args.includes("--utf8-only");
- const tspOnly = args.includes("--tsp-only");
- const sqlOnly = args.includes("--sql-only");
- const protocolOnly = args.includes("--protocol-only");
- const generateAll = !tsOnly && !csOnly && !utf8Only && !tspOnly && !sqlOnly && !protocolOnly;
-
- // Optional overrides
- const namespaceOverride = parseArg(args, "namespace");
- const outputOverride = parseArg(args, "output");
-
- console.log("Parsing @opentelemetry/semantic-conventions...");
- const data = parse();
-
- if (generateAll || tsOnly) {
- const ts = generateTypeScript(data);
- const tsPath = path.join(__dirname, CONFIG.outputs.typescript);
- fs.mkdirSync(path.dirname(tsPath), {recursive: true});
- fs.writeFileSync(tsPath, ts);
- console.log(`✓ Generated ${CONFIG.outputs.typescript}`);
- }
-
- if (generateAll || csOnly) {
- // Use override namespace if provided
- const originalNamespace = CONFIG.csharpNamespace;
- if (namespaceOverride) {
- CONFIG.csharpNamespace = namespaceOverride;
- }
-
- const cs = generateCSharp(data);
- const csPath = outputOverride
- ? path.join(__dirname, outputOverride)
- : path.join(__dirname, CONFIG.outputs.csharp);
- fs.mkdirSync(path.dirname(csPath), {recursive: true});
- fs.writeFileSync(csPath, cs);
- console.log(`✓ Generated ${outputOverride || CONFIG.outputs.csharp}`);
-
- // Restore
- CONFIG.csharpNamespace = originalNamespace;
- }
-
- if (generateAll || utf8Only) {
- // Use override namespace if provided
- const originalNamespace = CONFIG.csharpNamespace;
- if (namespaceOverride) {
- CONFIG.csharpNamespace = namespaceOverride;
- }
-
- const utf8 = generateCSharpUtf8(data);
- const utf8Path = outputOverride
- ? path.join(__dirname, outputOverride)
- : path.join(__dirname, CONFIG.outputs.csharpUtf8);
- fs.mkdirSync(path.dirname(utf8Path), {recursive: true});
- fs.writeFileSync(utf8Path, utf8);
- console.log(`✓ Generated ${utf8Path.replace(__dirname + "/", "")}`);
-
- // Restore
- CONFIG.csharpNamespace = originalNamespace;
- }
-
- if (generateAll || tspOnly) {
- // Use override namespace if provided
- const originalNamespace = CONFIG.typespecNamespace;
- if (namespaceOverride) {
- CONFIG.typespecNamespace = namespaceOverride;
- }
-
- const tsp = generateTypeSpec(data);
- const tspPath = outputOverride
- ? path.join(__dirname, outputOverride)
- : path.join(__dirname, CONFIG.outputs.typespec);
- fs.mkdirSync(path.dirname(tspPath), {recursive: true});
- fs.writeFileSync(tspPath, tsp);
- console.log(`✓ Generated ${tspPath.replace(__dirname + "/", "")}`);
-
- // Restore
- CONFIG.typespecNamespace = originalNamespace;
- }
-
- if (generateAll || sqlOnly) {
- const sql = generateDuckDb(data);
- const sqlPath = path.join(__dirname, CONFIG.outputs.duckdb);
- fs.mkdirSync(path.dirname(sqlPath), {recursive: true});
- fs.writeFileSync(sqlPath, sql);
- console.log(`✓ Generated ${CONFIG.outputs.duckdb}`);
- }
-
- if (generateAll || protocolOnly) {
- generateProtocolFacades(data);
- }
-
- console.log("Done!");
-}
-
-main();
diff --git a/eng/semconv/package-lock.json b/eng/semconv/package-lock.json
deleted file mode 100644
index 416133f61..000000000
--- a/eng/semconv/package-lock.json
+++ /dev/null
@@ -1,601 +0,0 @@
-{
- "name": "@qyl/semconv-generator",
- "version": "1.0.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "@qyl/semconv-generator",
- "version": "1.0.0",
- "devDependencies": {
- "@opentelemetry/semantic-conventions": "1.40.0",
- "@types/node": "^25.1.0",
- "tsx": "^4.21.0",
- "typescript": "^5.9.3"
- }
- },
- "node_modules/@esbuild/aix-ppc64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz",
- "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "aix"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/android-arm": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz",
- "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/android-arm64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz",
- "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/android-x64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz",
- "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/darwin-arm64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz",
- "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/darwin-x64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz",
- "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/freebsd-arm64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz",
- "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/freebsd-x64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz",
- "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-arm": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz",
- "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-arm64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz",
- "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-ia32": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz",
- "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-loong64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz",
- "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-mips64el": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz",
- "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-ppc64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz",
- "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-riscv64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz",
- "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-s390x": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz",
- "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-x64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz",
- "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/netbsd-arm64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz",
- "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz",
- "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/openbsd-arm64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz",
- "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz",
- "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/openharmony-arm64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz",
- "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openharmony"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz",
- "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz",
- "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz",
- "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-x64": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz",
- "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@opentelemetry/semantic-conventions": {
- "version": "1.40.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz",
- "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@types/node": {
- "version": "25.3.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.2.tgz",
- "integrity": "sha512-RpV6r/ij22zRRdyBPcxDeKAzH43phWVKEjL2iksqo1Vz3CuBUrgmPpPhALKiRfU7OMCmeeO9vECBMsV0hMTG8Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "undici-types": "~7.18.0"
- }
- },
- "node_modules/esbuild": {
- "version": "0.27.3",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz",
- "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=18"
- },
- "optionalDependencies": {
- "@esbuild/aix-ppc64": "0.27.3",
- "@esbuild/android-arm": "0.27.3",
- "@esbuild/android-arm64": "0.27.3",
- "@esbuild/android-x64": "0.27.3",
- "@esbuild/darwin-arm64": "0.27.3",
- "@esbuild/darwin-x64": "0.27.3",
- "@esbuild/freebsd-arm64": "0.27.3",
- "@esbuild/freebsd-x64": "0.27.3",
- "@esbuild/linux-arm": "0.27.3",
- "@esbuild/linux-arm64": "0.27.3",
- "@esbuild/linux-ia32": "0.27.3",
- "@esbuild/linux-loong64": "0.27.3",
- "@esbuild/linux-mips64el": "0.27.3",
- "@esbuild/linux-ppc64": "0.27.3",
- "@esbuild/linux-riscv64": "0.27.3",
- "@esbuild/linux-s390x": "0.27.3",
- "@esbuild/linux-x64": "0.27.3",
- "@esbuild/netbsd-arm64": "0.27.3",
- "@esbuild/netbsd-x64": "0.27.3",
- "@esbuild/openbsd-arm64": "0.27.3",
- "@esbuild/openbsd-x64": "0.27.3",
- "@esbuild/openharmony-arm64": "0.27.3",
- "@esbuild/sunos-x64": "0.27.3",
- "@esbuild/win32-arm64": "0.27.3",
- "@esbuild/win32-ia32": "0.27.3",
- "@esbuild/win32-x64": "0.27.3"
- }
- },
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/get-tsconfig": {
- "version": "4.13.6",
- "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz",
- "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "resolve-pkg-maps": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
- }
- },
- "node_modules/resolve-pkg-maps": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
- "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
- }
- },
- "node_modules/tsx": {
- "version": "4.21.0",
- "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz",
- "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "esbuild": "~0.27.0",
- "get-tsconfig": "^4.7.5"
- },
- "bin": {
- "tsx": "dist/cli.mjs"
- },
- "engines": {
- "node": ">=18.0.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.3"
- }
- },
- "node_modules/typescript": {
- "version": "5.9.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
- "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
- "dev": true,
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
- },
- "node_modules/undici-types": {
- "version": "7.18.2",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
- "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==",
- "dev": true,
- "license": "MIT"
- }
- }
-}
diff --git a/eng/semconv/package.json b/eng/semconv/package.json
deleted file mode 100644
index e0dae1abd..000000000
--- a/eng/semconv/package.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "name": "@qyl/semconv-generator",
- "version": "1.0.0",
- "type": "module",
- "description": "Generate OTel Semantic Conventions for TypeScript, C#, TypeSpec, and DuckDB",
- "scripts": {
- "generate": "tsx generate-semconv.ts",
- "generate:ts": "tsx generate-semconv.ts --ts-only",
- "generate:cs": "tsx generate-semconv.ts --cs-only",
- "generate:utf8": "tsx generate-semconv.ts --utf8-only",
- "generate:tsp": "tsx generate-semconv.ts --tsp-only",
- "generate:sql": "tsx generate-semconv.ts --sql-only",
- "generate:protocol": "tsx generate-semconv.ts --protocol-only"
- },
- "devDependencies": {
- "@opentelemetry/semantic-conventions": "1.40.0",
- "@types/node": "^25.1.0",
- "tsx": "^4.21.0",
- "typescript": "^5.9.3"
- }
-}
diff --git a/eng/semconv/qyl-extensions.json b/eng/semconv/qyl-extensions.json
deleted file mode 100644
index 7b7a5c66c..000000000
--- a/eng/semconv/qyl-extensions.json
+++ /dev/null
@@ -1,250 +0,0 @@
-{
- "$comment": "Contracts facade definitions — merged upstream OTel semconv + qyl extensions. Used by generateProtocolFacades() in generate-semconv.ts",
- "facades": [
- {
- "className": "GenAiAttributes",
- "namespace": "qyl.contracts.Attributes",
- "output": "../../src/qyl.contracts/Attributes/GenAiAttributes.g.cs",
- "description": "OTel {version} GenAI semantic convention attribute keys.\nStatus: Development\nhttps://opentelemetry.io/docs/specs/semconv/gen-ai/",
- "upstreamPrefix": "gen_ai",
- "metadata": {
- "SchemaUrl": "https://opentelemetry.io/schemas/{version}",
- "SourceName": "OpenTelemetry.Instrumentation.GenAI"
- },
- "attributes": [
- "gen_ai.provider.name",
- "gen_ai.operation.name",
- "gen_ai.request.model",
- "gen_ai.request.temperature",
- "gen_ai.request.max_tokens",
- "gen_ai.request.top_p",
- "gen_ai.request.top_k",
- "gen_ai.request.stop_sequences",
- "gen_ai.request.frequency_penalty",
- "gen_ai.request.presence_penalty",
- "gen_ai.request.choice.count",
- "gen_ai.request.seed",
- "gen_ai.request.encoding_formats",
- "gen_ai.response.model",
- "gen_ai.response.finish_reasons",
- "gen_ai.response.id",
- "gen_ai.usage.input_tokens",
- "gen_ai.usage.output_tokens",
- "gen_ai.usage.cache_read.input_tokens",
- "gen_ai.usage.cache_creation.input_tokens",
- "gen_ai.token.type",
- "gen_ai.tool.name",
- "gen_ai.tool.call.id",
- "gen_ai.tool.description",
- "gen_ai.tool.type",
- "gen_ai.tool.call.arguments",
- "gen_ai.tool.call.result",
- "gen_ai.tool.definitions",
- "gen_ai.input.messages",
- "gen_ai.output.messages",
- "gen_ai.output.type",
- "gen_ai.system_instructions",
- "gen_ai.agent.version",
- "gen_ai.conversation.id",
- "gen_ai.prompt.name",
- "gen_ai.embeddings.dimension.count",
- "gen_ai.evaluation.name",
- "gen_ai.evaluation.score.value",
- "gen_ai.evaluation.score.label",
- "gen_ai.evaluation.explanation",
- "gen_ai.data_source.id"
- ],
- "crossCutting": {
- "UserId": "user.id",
- "SessionId": "session.id",
- "ErrorType": "error.type",
- "ExceptionType": "exception.type",
- "ExceptionMessage": "exception.message",
- "ExceptionStacktrace": "exception.stacktrace",
- "ServerAddress": "server.address",
- "ServerPort": "server.port",
- "ClientAddress": "client.address",
- "ClientPort": "client.port"
- },
- "enums": {
- "Operations": {
- "summary": "Well-known operation name values.",
- "upstream": "GEN_AI_OPERATION_NAME",
- "extensions": {
- "ImageGeneration": "image_generation",
- "AudioTranscription": "audio_transcription",
- "TextToSpeech": "text_to_speech",
- "Rerank": "rerank"
- }
- },
- "Providers": {
- "summary": "Well-known provider name values.",
- "upstream": "GEN_AI_PROVIDER_NAME",
- "extensions": {
- "GitHubCopilot": "github_copilot",
- "MicrosoftAgents": "microsoft_agents",
- "Meta": "meta",
- "HuggingFace": "hugging_face",
- "Replicate": "replicate",
- "TogetherAi": "together_ai",
- "Fireworks": "fireworks",
- "Anyscale": "anyscale",
- "Ollama": "ollama",
- "Local": "local",
- "Custom": "custom"
- }
- },
- "TokenTypes": {
- "summary": "Well-known token type values.",
- "values": {
- "Input": "input",
- "Output": "output"
- }
- },
- "OutputTypes": {
- "summary": "Well-known output type values.",
- "upstream": "GEN_AI_OUTPUT_TYPE"
- },
- "ToolTypes": {
- "summary": "Well-known tool type values.",
- "values": {
- "Function": "function",
- "Extension": "extension",
- "Datastore": "datastore"
- }
- }
- },
- "customClasses": {
- "Metrics": {
- "summary": "GenAI metrics names.",
- "values": {
- "ClientTokenUsage": "gen_ai.client.token.usage",
- "ClientOperationDuration": "gen_ai.client.operation.duration",
- "ServerRequestDuration": "gen_ai.server.request.duration",
- "ServerTimePerOutputToken": "gen_ai.server.time_per_output_token",
- "ServerTimeToFirstToken": "gen_ai.server.time_to_first_token"
- }
- },
- "Events": {
- "summary": "GenAI event names.",
- "values": {
- "ClientInferenceOperationDetails": "gen_ai.client.inference.operation.details",
- "EvaluationResult": "gen_ai.evaluation.result"
- }
- }
- }
- },
- {
- "className": "DbAttributes",
- "namespace": "qyl.contracts.Attributes",
- "output": "../../src/qyl.contracts/Attributes/DbAttributes.g.cs",
- "description": "OTel {version} Database semantic convention attribute keys.\nStatus: Stable\nhttps://opentelemetry.io/docs/specs/semconv/database/",
- "upstreamPrefix": "db",
- "attributes": [
- "db.system.name",
- "db.operation.name",
- "db.query.text",
- "db.query.summary",
- "db.namespace",
- "db.collection.name",
- "db.response.status_code",
- "db.response.returned_rows",
- "db.client.connection.pool.name",
- "db.client.connection.state",
- "db.operation.batch.size",
- "db.stored_procedure.name"
- ],
- "propertyOverrides": {
- "db.client.connection.pool.name": "ConnectionPoolName",
- "db.client.connection.state": "ConnectionState"
- },
- "enums": {
- "Systems": {
- "summary": "Well-known database system name values.",
- "values": {
- "DuckDb": "duckdb",
- "PostgreSql": "postgresql",
- "MsSql": "mssql",
- "Sqlite": "sqlite",
- "MySql": "mysql",
- "MariaDb": "mariadb",
- "Oracle": "oracle",
- "Firebird": "firebird",
- "Redis": "redis",
- "MongoDb": "mongodb",
- "Elasticsearch": "elasticsearch",
- "CosmosDb": "cosmosdb",
- "Cassandra": "cassandra"
- }
- },
- "Operations": {
- "summary": "Well-known database operation name values.",
- "values": {
- "Select": "SELECT",
- "Insert": "INSERT",
- "Update": "UPDATE",
- "Delete": "DELETE",
- "Create": "CREATE",
- "Drop": "DROP",
- "ExecuteReader": "ExecuteReader",
- "ExecuteNonQuery": "ExecuteNonQuery",
- "ExecuteScalar": "ExecuteScalar"
- }
- }
- }
- },
- {
- "className": "McpAttributes",
- "namespace": "qyl.contracts.Attributes",
- "output": "../../src/qyl.contracts/Attributes/McpAttributes.g.cs",
- "description": "OTel {version} MCP (Model Context Protocol) semantic convention attribute keys.\nStatus: Experimental\nhttps://github.com/open-telemetry/semantic-conventions/blob/main/docs/gen-ai/mcp.md",
- "metadata": {
- "SchemaUrl": "https://opentelemetry.io/schemas/{version}",
- "SourceName": "qyl.mcp"
- },
- "upstreamPrefix": "mcp",
- "attributes": [
- "mcp.method.name",
- "mcp.protocol.version",
- "mcp.session.id",
- "mcp.server.name"
- ],
- "crossCutting": {
- "JsonrpcRequestId": "jsonrpc.request.id",
- "JsonrpcProtocolVersion": "jsonrpc.protocol.version",
- "RpcSystem": "rpc.system",
- "RpcMethod": "rpc.method",
- "ErrorType": "error.type",
- "ServerAddress": "server.address",
- "ServerPort": "server.port"
- },
- "enums": {
- "Methods": {
- "summary": "Well-known MCP method name values.",
- "values": {
- "ToolsCall": "tools/call",
- "ToolsList": "tools/list",
- "PromptsGet": "prompts/get",
- "PromptsList": "prompts/list",
- "ResourcesRead": "resources/read",
- "ResourcesList": "resources/list",
- "Initialize": "initialize",
- "Ping": "ping"
- }
- },
- "Systems": {
- "summary": "Well-known RPC system values.",
- "values": {
- "JsonRpc": "jsonrpc"
- }
- },
- "JsonrpcVersions": {
- "summary": "Well-known JSON-RPC protocol version values.",
- "values": {
- "V2": "2.0"
- }
- }
- }
- }
- ]
-}
diff --git a/eng/semconv/run-weaver.sh b/eng/semconv/run-weaver.sh
new file mode 100755
index 000000000..153b12ecd
--- /dev/null
+++ b/eng/semconv/run-weaver.sh
@@ -0,0 +1,54 @@
+#!/usr/bin/env bash
+# Generate qyl's semconv outputs into the final src/ destinations via Weaver.
+#
+# Pinned inputs: open-telemetry/semantic-conventions v1.40.0 (cloned by bootstrap)
+# Output targets:
+# - src/qyl.dashboard/src/lib/semconv.ts (TypeScript const keys)
+# - src/qyl.collector/Storage/promoted-columns.g.sql (DuckDB columns)
+#
+# Still hand-maintained:
+# - src/qyl.contracts/Attributes/*Attributes.cs (facades with qyl extensions)
+#
+# Bootstrap once per clone: ./eng/semconv/bootstrap-weaver.sh
+
+set -euo pipefail
+
+REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
+
+UNAME_S="$(uname -s)"
+UNAME_M="$(uname -m)"
+case "${UNAME_S}:${UNAME_M}" in
+ Darwin:arm64|Darwin:aarch64) WEAVER_ARCH="aarch64-apple-darwin" ;;
+ Darwin:x86_64) WEAVER_ARCH="x86_64-apple-darwin" ;;
+ Linux:x86_64) WEAVER_ARCH="x86_64-unknown-linux-gnu" ;;
+ *) echo "Unsupported platform: ${UNAME_S}/${UNAME_M}" >&2; exit 1 ;;
+esac
+
+WEAVER_BIN="${REPO_ROOT}/.tools/weaver/weaver-${WEAVER_ARCH}/weaver"
+UPSTREAM_REGISTRY="${REPO_ROOT}/.tools/semconv-upstream/model"
+TEMPLATES_ROOT="${REPO_ROOT}/eng/semconv/templates/registry"
+STAGING_DIR="${REPO_ROOT}/eng/semconv/out"
+
+TS_DEST="${REPO_ROOT}/src/qyl.dashboard/src/lib/semconv.ts"
+SQL_DEST="${REPO_ROOT}/src/qyl.collector/Storage/promoted-columns.g.sql"
+
+if [ ! -x "${WEAVER_BIN}" ] || [ ! -d "${UPSTREAM_REGISTRY}" ]; then
+ echo "Weaver or upstream registry missing." >&2
+ echo "Run: ./eng/semconv/bootstrap-weaver.sh" >&2
+ exit 1
+fi
+
+rm -rf "${STAGING_DIR}"
+"${WEAVER_BIN}" registry generate \
+ --registry "${UPSTREAM_REGISTRY}" \
+ --templates "${TEMPLATES_ROOT}" \
+ qyl \
+ "${STAGING_DIR}"
+
+install -m 0644 "${STAGING_DIR}/semconv.ts" "${TS_DEST}"
+install -m 0644 "${STAGING_DIR}/promoted-columns.g.sql" "${SQL_DEST}"
+
+echo ""
+echo "Wrote:"
+echo " ${TS_DEST} ($(wc -l < "${TS_DEST}") lines)"
+echo " ${SQL_DEST} ($(wc -l < "${SQL_DEST}") lines)"
diff --git a/eng/semconv/templates/registry/qyl/promoted_columns.g.sql.j2 b/eng/semconv/templates/registry/qyl/promoted_columns.g.sql.j2
new file mode 100644
index 000000000..552a20d0b
--- /dev/null
+++ b/eng/semconv/templates/registry/qyl/promoted_columns.g.sql.j2
@@ -0,0 +1,32 @@
+{#-
+ DuckDB promoted columns — semconv attributes flattened to typed columns.
+ Target: src/qyl.collector/Storage/promoted-columns.g.sql
+-#}
+--
+-- Generated from open-telemetry/semantic-conventions v{{ params.semconv_version }} via Weaver
+-- Do not edit manually - run 'nuke GenerateSemconv'
+--
+-- Promoted columns for fast queries (extracted from attributes_json)
+-- Include in CREATE TABLE statements as needed
+{% set bigint_suffixes = ['_tokens', '_count', '_size', '_top_k', '_max_tokens', '_seed'] %}
+{% set double_suffixes = ['_duration', '_temperature', '_top_p', '_frequency_penalty', '_presence_penalty'] %}
+{% set last_parent = namespace(v='') %}
+{% for group in ctx | sort(attribute="root_namespace") %}
+{% if group.root_namespace in params.include_prefixes %}
+{% for attr in group.attributes | sort(attribute="name") %}
+{% set parent = attr.name.split('.')[:-1] | join('.') %}
+{% set col = attr.name | replace('.', '_') %}
+{% set type_ns = namespace(t='VARCHAR') %}
+{# Suffix checks run against the column name (underscored), not the dotted attr — otherwise
+ `azure.cosmosdb.request.body.size` would fail to match `_size`. #}
+{% for s in bigint_suffixes %}{% if col.endswith(s) %}{% set type_ns.t = 'BIGINT' %}{% endif %}{% endfor %}
+{% for s in double_suffixes %}{% if col.endswith(s) %}{% set type_ns.t = 'DOUBLE' %}{% endif %}{% endfor %}
+{% if parent != last_parent.v %}
+
+-- {{ parent }} attributes
+{% set last_parent.v = parent %}
+{% endif %}
+{{ col }} {{ type_ns.t }},
+{% endfor %}
+{% endif %}
+{% endfor %}
diff --git a/eng/semconv/templates/registry/qyl/semconv.ts.j2 b/eng/semconv/templates/registry/qyl/semconv.ts.j2
new file mode 100644
index 000000000..c1e49e705
--- /dev/null
+++ b/eng/semconv/templates/registry/qyl/semconv.ts.j2
@@ -0,0 +1,26 @@
+{#-
+ TypeScript semconv constants for qyl.dashboard.
+ Target: src/qyl.dashboard/src/lib/semconv.ts
+ Shape: export const flat list grouped by parent-prefix (matches the
+ legacy generator shape — e.g. `// artifact.attestation` comment
+ before artifact.attestation.* attributes).
+-#}
+//
+// Generated from open-telemetry/semantic-conventions v{{ params.semconv_version }} via Weaver
+// Do not edit manually - run 'nuke GenerateSemconv'
+
+// Attribute keys
+{% set last_parent = namespace(v='') %}
+{% for group in ctx | sort(attribute="root_namespace") %}
+{% if group.root_namespace in params.include_prefixes %}
+{% for attr in group.attributes | sort(attribute="name") %}
+{% set parent = attr.name.split('.')[:-1] | join('.') %}
+{% if parent != last_parent.v %}
+
+// {{ parent }}
+{% set last_parent.v = parent %}
+{% endif %}
+export const {{ attr.name | screaming_snake_case }} = "{{ attr.name }}";
+{% endfor %}
+{% endif %}
+{% endfor %}
diff --git a/eng/semconv/templates/registry/qyl/weaver.yaml b/eng/semconv/templates/registry/qyl/weaver.yaml
new file mode 100644
index 000000000..de6fb526b
--- /dev/null
+++ b/eng/semconv/templates/registry/qyl/weaver.yaml
@@ -0,0 +1,88 @@
+# Weaver template config for qyl's semconv outputs.
+# Upstream prefixes + qyl extensions are centralized in params below so every
+# template can read them via `params.`.
+
+whitespace_control:
+ trim_blocks: true
+ lstrip_blocks: true
+
+params:
+ semconv_version: "1.40.0"
+
+ # Upstream OTel prefixes to surface in qyl's generated outputs. Everything
+ # else in the upstream registry is ignored to keep generated files lean.
+ include_prefixes:
+ # AI
+ - gen_ai
+ - code
+ # Transport
+ - http
+ - rpc
+ - messaging
+ - url
+ - user_agent
+ - signalr
+ - kestrel
+ # Data
+ - db
+ - file
+ - vcs
+ - artifact
+ - elasticsearch
+ # Infra
+ - cloud
+ - container
+ - k8s
+ - host
+ - os
+ - faas
+ - webengine
+ # Security
+ - network
+ - tls
+ - dns
+ # Runtime
+ - process
+ - thread
+ - system
+ - dotnet
+ - aspnetcore
+ # Identity
+ - user
+ - enduser
+ - geo
+ - client
+ - server
+ - service
+ - telemetry
+ # Observe
+ - browser
+ - session
+ - exception
+ - error
+ - log
+ - feature_flag
+ - otel
+ - test
+ # Profiling
+ - profile
+ - pprof
+ # Ops
+ - cicd
+ - deployment
+ # Vendor
+ - openai
+ - azure
+ - oracle
+ - oracle_cloud
+
+templates:
+ - template: semconv.ts.j2
+ filter: semconv_grouped_attributes
+ application_mode: single
+ file_name: "semconv.ts"
+
+ - template: promoted_columns.g.sql.j2
+ filter: semconv_grouped_attributes
+ application_mode: single
+ file_name: "promoted-columns.g.sql"
diff --git a/eng/semconv/tsconfig.json b/eng/semconv/tsconfig.json
deleted file mode 100644
index 22c0a98e3..000000000
--- a/eng/semconv/tsconfig.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "compilerOptions": {
- "target": "ES2022",
- "module": "ESNext",
- "moduleResolution": "bundler",
- "strict": true,
- "esModuleInterop": true,
- "skipLibCheck": true,
- "declaration": false,
- "outDir": "dist",
- "rootDir": ".",
- "resolveJsonModule": true
- },
- "include": [
- "*.ts"
- ],
- "exclude": [
- "node_modules",
- "dist"
- ]
-}
diff --git a/src/qyl.collector/Ingestion/OtlpAttributes.Utf8.g.cs b/src/qyl.collector/Ingestion/OtlpAttributes.Utf8.g.cs
deleted file mode 100644
index 3b3d63622..000000000
--- a/src/qyl.collector/Ingestion/OtlpAttributes.Utf8.g.cs
+++ /dev/null
@@ -1,6923 +0,0 @@
-//
-// Generated from @opentelemetry/semantic-conventions v1.40.0
-// Do not edit manually - run 'npm run generate' in SemconvGenerator
-//
-// UTF-8 ReadOnlySpan for zero-allocation OTLP parsing hot paths
-
-namespace Qyl.Collector.Ingestion;
-
-///
-/// UTF-8 attribute keys for aspnetcore.diagnostics.* (zero-allocation parsing)
-///
-public static class AspnetcoreDiagnosticsUtf8
-{
- /// aspnetcore.diagnostics.exception.result
- public static ReadOnlySpan ExceptionResult => "aspnetcore.diagnostics.exception.result"u8;
-
- /// aspnetcore.diagnostics.handler.type
- public static ReadOnlySpan HandlerType => "aspnetcore.diagnostics.handler.type"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for aspnetcore.rate_limiting.* (zero-allocation parsing)
-///
-public static class AspnetcoreRateLimitingUtf8
-{
- /// aspnetcore.rate_limiting.policy
- public static ReadOnlySpan Policy => "aspnetcore.rate_limiting.policy"u8;
-
- /// aspnetcore.rate_limiting.result
- public static ReadOnlySpan Result => "aspnetcore.rate_limiting.result"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for aspnetcore.request.* (zero-allocation parsing)
-///
-public static class AspnetcoreRequestUtf8
-{
- /// aspnetcore.request.is_unhandled
- public static ReadOnlySpan IsUnhandled => "aspnetcore.request.is_unhandled"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for aspnetcore.routing.* (zero-allocation parsing)
-///
-public static class AspnetcoreRoutingUtf8
-{
- /// aspnetcore.routing.is_fallback
- public static ReadOnlySpan IsFallback => "aspnetcore.routing.is_fallback"u8;
-
- /// aspnetcore.routing.match_status
- public static ReadOnlySpan MatchStatus => "aspnetcore.routing.match_status"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for aspnetcore.user.* (zero-allocation parsing)
-///
-public static class AspnetcoreUserUtf8
-{
- /// aspnetcore.user.is_authenticated
- public static ReadOnlySpan IsAuthenticated => "aspnetcore.user.is_authenticated"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for client.address.* (zero-allocation parsing)
-///
-public static class ClientAddressUtf8
-{
- /// client.address
- public static ReadOnlySpan Address => "client.address"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for client.port.* (zero-allocation parsing)
-///
-public static class ClientPortUtf8
-{
- /// client.port
- public static ReadOnlySpan Port => "client.port"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for code.column.* (zero-allocation parsing)
-///
-public static class CodeColumnUtf8
-{
- /// code.column.number
- public static ReadOnlySpan Number => "code.column.number"u8;
-
- /// code.column
- public static ReadOnlySpan Column => "code.column"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for code.file.* (zero-allocation parsing)
-///
-public static class CodeFileUtf8
-{
- /// code.file.path
- public static ReadOnlySpan Path => "code.file.path"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for code.function.* (zero-allocation parsing)
-///
-public static class CodeFunctionUtf8
-{
- /// code.function.name
- public static ReadOnlySpan Name => "code.function.name"u8;
-
- /// code.function
- public static ReadOnlySpan Function => "code.function"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for code.line.* (zero-allocation parsing)
-///
-public static class CodeLineUtf8
-{
- /// code.line.number
- public static ReadOnlySpan Number => "code.line.number"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for code.stacktrace.* (zero-allocation parsing)
-///
-public static class CodeStacktraceUtf8
-{
- /// code.stacktrace
- public static ReadOnlySpan Stacktrace => "code.stacktrace"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.collection.* (zero-allocation parsing)
-///
-public static class DbCollectionUtf8
-{
- /// db.collection.name
- public static ReadOnlySpan Name => "db.collection.name"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.namespace.* (zero-allocation parsing)
-///
-public static class DbNamespaceUtf8
-{
- /// db.namespace
- public static ReadOnlySpan Namespace => "db.namespace"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.operation.* (zero-allocation parsing)
-///
-public static class DbOperationUtf8
-{
- /// db.operation.batch.size
- public static ReadOnlySpan BatchSize => "db.operation.batch.size"u8;
-
- /// db.operation.name
- public static ReadOnlySpan Name => "db.operation.name"u8;
-
- /// db.operation
- public static ReadOnlySpan Operation => "db.operation"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.query.* (zero-allocation parsing)
-///
-public static class DbQueryUtf8
-{
- /// db.query.summary
- public static ReadOnlySpan Summary => "db.query.summary"u8;
-
- /// db.query.text
- public static ReadOnlySpan Text => "db.query.text"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.response.* (zero-allocation parsing)
-///
-public static class DbResponseUtf8
-{
- /// db.response.status_code
- public static ReadOnlySpan StatusCode => "db.response.status_code"u8;
-
- /// db.response.returned_rows
- public static ReadOnlySpan ReturnedRows => "db.response.returned_rows"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.stored_procedure.* (zero-allocation parsing)
-///
-public static class DbStoredProcedureUtf8
-{
- /// db.stored_procedure.name
- public static ReadOnlySpan Name => "db.stored_procedure.name"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.system.* (zero-allocation parsing)
-///
-public static class DbSystemUtf8
-{
- /// db.system.name
- public static ReadOnlySpan Name => "db.system.name"u8;
-
- /// db.system
- public static ReadOnlySpan System => "db.system"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for dotnet.gc.* (zero-allocation parsing)
-///
-public static class DotnetGcUtf8
-{
- /// dotnet.gc.heap.generation
- public static ReadOnlySpan HeapGeneration => "dotnet.gc.heap.generation"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for error.type.* (zero-allocation parsing)
-///
-public static class ErrorTypeUtf8
-{
- /// error.type
- public static ReadOnlySpan Type => "error.type"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for exception.escaped.* (zero-allocation parsing)
-///
-public static class ExceptionEscapedUtf8
-{
- /// exception.escaped
- public static ReadOnlySpan Escaped => "exception.escaped"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for exception.message.* (zero-allocation parsing)
-///
-public static class ExceptionMessageUtf8
-{
- /// exception.message
- public static ReadOnlySpan Message => "exception.message"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for exception.stacktrace.* (zero-allocation parsing)
-///
-public static class ExceptionStacktraceUtf8
-{
- /// exception.stacktrace
- public static ReadOnlySpan Stacktrace => "exception.stacktrace"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for exception.type.* (zero-allocation parsing)
-///
-public static class ExceptionTypeUtf8
-{
- /// exception.type
- public static ReadOnlySpan Type => "exception.type"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for http.request.* (zero-allocation parsing)
-///
-public static class HttpRequestUtf8
-{
- /// http.request.method
- public static ReadOnlySpan Method => "http.request.method"u8;
-
- /// http.request.method_original
- public static ReadOnlySpan MethodOriginal => "http.request.method_original"u8;
-
- /// http.request.resend_count
- public static ReadOnlySpan ResendCount => "http.request.resend_count"u8;
-
- /// http.request.body.size
- public static ReadOnlySpan BodySize => "http.request.body.size"u8;
-
- /// http.request.size
- public static ReadOnlySpan Size => "http.request.size"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for http.response.* (zero-allocation parsing)
-///
-public static class HttpResponseUtf8
-{
- /// http.response.status_code
- public static ReadOnlySpan StatusCode => "http.response.status_code"u8;
-
- /// http.response.body.size
- public static ReadOnlySpan BodySize => "http.response.body.size"u8;
-
- /// http.response.size
- public static ReadOnlySpan Size => "http.response.size"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for http.route.* (zero-allocation parsing)
-///
-public static class HttpRouteUtf8
-{
- /// http.route
- public static ReadOnlySpan Route => "http.route"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for network.local.* (zero-allocation parsing)
-///
-public static class NetworkLocalUtf8
-{
- /// network.local.address
- public static ReadOnlySpan Address => "network.local.address"u8;
-
- /// network.local.port
- public static ReadOnlySpan Port => "network.local.port"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for network.peer.* (zero-allocation parsing)
-///
-public static class NetworkPeerUtf8
-{
- /// network.peer.address
- public static ReadOnlySpan Address => "network.peer.address"u8;
-
- /// network.peer.port
- public static ReadOnlySpan Port => "network.peer.port"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for network.protocol.* (zero-allocation parsing)
-///
-public static class NetworkProtocolUtf8
-{
- /// network.protocol.name
- public static ReadOnlySpan Name => "network.protocol.name"u8;
-
- /// network.protocol.version
- public static ReadOnlySpan Version => "network.protocol.version"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for network.transport.* (zero-allocation parsing)
-///
-public static class NetworkTransportUtf8
-{
- /// network.transport
- public static ReadOnlySpan Transport => "network.transport"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for network.type.* (zero-allocation parsing)
-///
-public static class NetworkTypeUtf8
-{
- /// network.type
- public static ReadOnlySpan Type => "network.type"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for otel.scope.* (zero-allocation parsing)
-///
-public static class OtelScopeUtf8
-{
- /// otel.scope.name
- public static ReadOnlySpan Name => "otel.scope.name"u8;
-
- /// otel.scope.version
- public static ReadOnlySpan Version => "otel.scope.version"u8;
-
- /// otel.scope.schema_url
- public static ReadOnlySpan SchemaUrl => "otel.scope.schema_url"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for otel.status_code.* (zero-allocation parsing)
-///
-public static class OtelStatusCodeUtf8
-{
- /// otel.status_code
- public static ReadOnlySpan Status_code => "otel.status_code"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for otel.status_description.* (zero-allocation parsing)
-///
-public static class OtelStatusDescriptionUtf8
-{
- /// otel.status_description
- public static ReadOnlySpan Status_description => "otel.status_description"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for signalr.connection.* (zero-allocation parsing)
-///
-public static class SignalrConnectionUtf8
-{
- /// signalr.connection.status
- public static ReadOnlySpan Status => "signalr.connection.status"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for signalr.transport.* (zero-allocation parsing)
-///
-public static class SignalrTransportUtf8
-{
- /// signalr.transport
- public static ReadOnlySpan Transport => "signalr.transport"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for url.fragment.* (zero-allocation parsing)
-///
-public static class UrlFragmentUtf8
-{
- /// url.fragment
- public static ReadOnlySpan Fragment => "url.fragment"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for url.full.* (zero-allocation parsing)
-///
-public static class UrlFullUtf8
-{
- /// url.full
- public static ReadOnlySpan Full => "url.full"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for url.path.* (zero-allocation parsing)
-///
-public static class UrlPathUtf8
-{
- /// url.path
- public static ReadOnlySpan Path => "url.path"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for url.query.* (zero-allocation parsing)
-///
-public static class UrlQueryUtf8
-{
- /// url.query
- public static ReadOnlySpan Query => "url.query"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for url.scheme.* (zero-allocation parsing)
-///
-public static class UrlSchemeUtf8
-{
- /// url.scheme
- public static ReadOnlySpan Scheme => "url.scheme"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for user_agent.original.* (zero-allocation parsing)
-///
-public static class UserAgentOriginalUtf8
-{
- /// user_agent.original
- public static ReadOnlySpan Original => "user_agent.original"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for artifact.attestation.* (zero-allocation parsing)
-///
-public static class ArtifactAttestationUtf8
-{
- /// artifact.attestation.filename
- public static ReadOnlySpan Filename => "artifact.attestation.filename"u8;
-
- /// artifact.attestation.hash
- public static ReadOnlySpan Hash => "artifact.attestation.hash"u8;
-
- /// artifact.attestation.id
- public static ReadOnlySpan Id => "artifact.attestation.id"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for artifact.filename.* (zero-allocation parsing)
-///
-public static class ArtifactFilenameUtf8
-{
- /// artifact.filename
- public static ReadOnlySpan Filename => "artifact.filename"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for artifact.hash.* (zero-allocation parsing)
-///
-public static class ArtifactHashUtf8
-{
- /// artifact.hash
- public static ReadOnlySpan Hash => "artifact.hash"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for artifact.purl.* (zero-allocation parsing)
-///
-public static class ArtifactPurlUtf8
-{
- /// artifact.purl
- public static ReadOnlySpan Purl => "artifact.purl"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for artifact.version.* (zero-allocation parsing)
-///
-public static class ArtifactVersionUtf8
-{
- /// artifact.version
- public static ReadOnlySpan Version => "artifact.version"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for aspnetcore.authentication.* (zero-allocation parsing)
-///
-public static class AspnetcoreAuthenticationUtf8
-{
- /// aspnetcore.authentication.result
- public static ReadOnlySpan Result => "aspnetcore.authentication.result"u8;
-
- /// aspnetcore.authentication.scheme
- public static ReadOnlySpan Scheme => "aspnetcore.authentication.scheme"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for aspnetcore.authorization.* (zero-allocation parsing)
-///
-public static class AspnetcoreAuthorizationUtf8
-{
- /// aspnetcore.authorization.policy
- public static ReadOnlySpan Policy => "aspnetcore.authorization.policy"u8;
-
- /// aspnetcore.authorization.result
- public static ReadOnlySpan Result => "aspnetcore.authorization.result"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for aspnetcore.identity.* (zero-allocation parsing)
-///
-public static class AspnetcoreIdentityUtf8
-{
- /// aspnetcore.identity.error_code
- public static ReadOnlySpan ErrorCode => "aspnetcore.identity.error_code"u8;
-
- /// aspnetcore.identity.password_check_result
- public static ReadOnlySpan PasswordCheckResult => "aspnetcore.identity.password_check_result"u8;
-
- /// aspnetcore.identity.result
- public static ReadOnlySpan Result => "aspnetcore.identity.result"u8;
-
- /// aspnetcore.identity.sign_in.result
- public static ReadOnlySpan SignInResult => "aspnetcore.identity.sign_in.result"u8;
-
- /// aspnetcore.identity.sign_in.type
- public static ReadOnlySpan SignInType => "aspnetcore.identity.sign_in.type"u8;
-
- /// aspnetcore.identity.token_purpose
- public static ReadOnlySpan TokenPurpose => "aspnetcore.identity.token_purpose"u8;
-
- /// aspnetcore.identity.token_verified
- public static ReadOnlySpan TokenVerified => "aspnetcore.identity.token_verified"u8;
-
- /// aspnetcore.identity.user.update_type
- public static ReadOnlySpan UserUpdateType => "aspnetcore.identity.user.update_type"u8;
-
- /// aspnetcore.identity.user_type
- public static ReadOnlySpan UserType => "aspnetcore.identity.user_type"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for aspnetcore.memory_pool.* (zero-allocation parsing)
-///
-public static class AspnetcoreMemoryPoolUtf8
-{
- /// aspnetcore.memory_pool.owner
- public static ReadOnlySpan Owner => "aspnetcore.memory_pool.owner"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for aspnetcore.sign_in.* (zero-allocation parsing)
-///
-public static class AspnetcoreSignInUtf8
-{
- /// aspnetcore.sign_in.is_persistent
- public static ReadOnlySpan IsPersistent => "aspnetcore.sign_in.is_persistent"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for browser.brands.* (zero-allocation parsing)
-///
-public static class BrowserBrandsUtf8
-{
- /// browser.brands
- public static ReadOnlySpan Brands => "browser.brands"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for browser.language.* (zero-allocation parsing)
-///
-public static class BrowserLanguageUtf8
-{
- /// browser.language
- public static ReadOnlySpan Language => "browser.language"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for browser.mobile.* (zero-allocation parsing)
-///
-public static class BrowserMobileUtf8
-{
- /// browser.mobile
- public static ReadOnlySpan Mobile => "browser.mobile"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for browser.platform.* (zero-allocation parsing)
-///
-public static class BrowserPlatformUtf8
-{
- /// browser.platform
- public static ReadOnlySpan Platform => "browser.platform"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cicd.pipeline.* (zero-allocation parsing)
-///
-public static class CicdPipelineUtf8
-{
- /// cicd.pipeline.action.name
- public static ReadOnlySpan ActionName => "cicd.pipeline.action.name"u8;
-
- /// cicd.pipeline.name
- public static ReadOnlySpan Name => "cicd.pipeline.name"u8;
-
- /// cicd.pipeline.result
- public static ReadOnlySpan Result => "cicd.pipeline.result"u8;
-
- /// cicd.pipeline.run.id
- public static ReadOnlySpan RunId => "cicd.pipeline.run.id"u8;
-
- /// cicd.pipeline.run.state
- public static ReadOnlySpan RunState => "cicd.pipeline.run.state"u8;
-
- /// cicd.pipeline.run.url.full
- public static ReadOnlySpan RunUrlFull => "cicd.pipeline.run.url.full"u8;
-
- /// cicd.pipeline.task.name
- public static ReadOnlySpan TaskName => "cicd.pipeline.task.name"u8;
-
- /// cicd.pipeline.task.run.id
- public static ReadOnlySpan TaskRunId => "cicd.pipeline.task.run.id"u8;
-
- /// cicd.pipeline.task.run.result
- public static ReadOnlySpan TaskRunResult => "cicd.pipeline.task.run.result"u8;
-
- /// cicd.pipeline.task.run.url.full
- public static ReadOnlySpan TaskRunUrlFull => "cicd.pipeline.task.run.url.full"u8;
-
- /// cicd.pipeline.task.type
- public static ReadOnlySpan TaskType => "cicd.pipeline.task.type"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cicd.system.* (zero-allocation parsing)
-///
-public static class CicdSystemUtf8
-{
- /// cicd.system.component
- public static ReadOnlySpan Component => "cicd.system.component"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cicd.worker.* (zero-allocation parsing)
-///
-public static class CicdWorkerUtf8
-{
- /// cicd.worker.id
- public static ReadOnlySpan Id => "cicd.worker.id"u8;
-
- /// cicd.worker.name
- public static ReadOnlySpan Name => "cicd.worker.name"u8;
-
- /// cicd.worker.state
- public static ReadOnlySpan State => "cicd.worker.state"u8;
-
- /// cicd.worker.url.full
- public static ReadOnlySpan UrlFull => "cicd.worker.url.full"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cloud.account.* (zero-allocation parsing)
-///
-public static class CloudAccountUtf8
-{
- /// cloud.account.id
- public static ReadOnlySpan Id => "cloud.account.id"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cloud.availability_zone.* (zero-allocation parsing)
-///
-public static class CloudAvailabilityZoneUtf8
-{
- /// cloud.availability_zone
- public static ReadOnlySpan Availability_zone => "cloud.availability_zone"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cloud.platform.* (zero-allocation parsing)
-///
-public static class CloudPlatformUtf8
-{
- /// cloud.platform
- public static ReadOnlySpan Platform => "cloud.platform"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cloud.provider.* (zero-allocation parsing)
-///
-public static class CloudProviderUtf8
-{
- /// cloud.provider
- public static ReadOnlySpan Provider => "cloud.provider"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cloud.region.* (zero-allocation parsing)
-///
-public static class CloudRegionUtf8
-{
- /// cloud.region
- public static ReadOnlySpan Region => "cloud.region"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cloud.resource_id.* (zero-allocation parsing)
-///
-public static class CloudResourceIdUtf8
-{
- /// cloud.resource_id
- public static ReadOnlySpan Resource_id => "cloud.resource_id"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cloudevents.event_id.* (zero-allocation parsing)
-///
-public static class CloudeventsEventIdUtf8
-{
- /// cloudevents.event_id
- public static ReadOnlySpan Event_id => "cloudevents.event_id"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cloudevents.event_source.* (zero-allocation parsing)
-///
-public static class CloudeventsEventSourceUtf8
-{
- /// cloudevents.event_source
- public static ReadOnlySpan Event_source => "cloudevents.event_source"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cloudevents.event_spec_version.* (zero-allocation parsing)
-///
-public static class CloudeventsEventSpecVersionUtf8
-{
- /// cloudevents.event_spec_version
- public static ReadOnlySpan Event_spec_version => "cloudevents.event_spec_version"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cloudevents.event_subject.* (zero-allocation parsing)
-///
-public static class CloudeventsEventSubjectUtf8
-{
- /// cloudevents.event_subject
- public static ReadOnlySpan Event_subject => "cloudevents.event_subject"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cloudevents.event_type.* (zero-allocation parsing)
-///
-public static class CloudeventsEventTypeUtf8
-{
- /// cloudevents.event_type
- public static ReadOnlySpan Event_type => "cloudevents.event_type"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cloudfoundry.app.* (zero-allocation parsing)
-///
-public static class CloudfoundryAppUtf8
-{
- /// cloudfoundry.app.id
- public static ReadOnlySpan Id => "cloudfoundry.app.id"u8;
-
- /// cloudfoundry.app.instance.id
- public static ReadOnlySpan InstanceId => "cloudfoundry.app.instance.id"u8;
-
- /// cloudfoundry.app.name
- public static ReadOnlySpan Name => "cloudfoundry.app.name"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cloudfoundry.org.* (zero-allocation parsing)
-///
-public static class CloudfoundryOrgUtf8
-{
- /// cloudfoundry.org.id
- public static ReadOnlySpan Id => "cloudfoundry.org.id"u8;
-
- /// cloudfoundry.org.name
- public static ReadOnlySpan Name => "cloudfoundry.org.name"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cloudfoundry.process.* (zero-allocation parsing)
-///
-public static class CloudfoundryProcessUtf8
-{
- /// cloudfoundry.process.id
- public static ReadOnlySpan Id => "cloudfoundry.process.id"u8;
-
- /// cloudfoundry.process.type
- public static ReadOnlySpan Type => "cloudfoundry.process.type"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cloudfoundry.space.* (zero-allocation parsing)
-///
-public static class CloudfoundrySpaceUtf8
-{
- /// cloudfoundry.space.id
- public static ReadOnlySpan Id => "cloudfoundry.space.id"u8;
-
- /// cloudfoundry.space.name
- public static ReadOnlySpan Name => "cloudfoundry.space.name"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for cloudfoundry.system.* (zero-allocation parsing)
-///
-public static class CloudfoundrySystemUtf8
-{
- /// cloudfoundry.system.id
- public static ReadOnlySpan Id => "cloudfoundry.system.id"u8;
-
- /// cloudfoundry.system.instance.id
- public static ReadOnlySpan InstanceId => "cloudfoundry.system.instance.id"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for code.filepath.* (zero-allocation parsing)
-///
-public static class CodeFilepathUtf8
-{
- /// code.filepath
- public static ReadOnlySpan Filepath => "code.filepath"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for code.lineno.* (zero-allocation parsing)
-///
-public static class CodeLinenoUtf8
-{
- /// code.lineno
- public static ReadOnlySpan Lineno => "code.lineno"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for code.namespace.* (zero-allocation parsing)
-///
-public static class CodeNamespaceUtf8
-{
- /// code.namespace
- public static ReadOnlySpan Namespace => "code.namespace"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for container.command.* (zero-allocation parsing)
-///
-public static class ContainerCommandUtf8
-{
- /// container.command
- public static ReadOnlySpan Command => "container.command"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for container.command_args.* (zero-allocation parsing)
-///
-public static class ContainerCommandArgsUtf8
-{
- /// container.command_args
- public static ReadOnlySpan Command_args => "container.command_args"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for container.command_line.* (zero-allocation parsing)
-///
-public static class ContainerCommandLineUtf8
-{
- /// container.command_line
- public static ReadOnlySpan Command_line => "container.command_line"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for container.cpu.* (zero-allocation parsing)
-///
-public static class ContainerCpuUtf8
-{
- /// container.cpu.state
- public static ReadOnlySpan State => "container.cpu.state"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for container.csi.* (zero-allocation parsing)
-///
-public static class ContainerCsiUtf8
-{
- /// container.csi.plugin.name
- public static ReadOnlySpan PluginName => "container.csi.plugin.name"u8;
-
- /// container.csi.volume.id
- public static ReadOnlySpan VolumeId => "container.csi.volume.id"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for container.id.* (zero-allocation parsing)
-///
-public static class ContainerIdUtf8
-{
- /// container.id
- public static ReadOnlySpan Id => "container.id"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for container.image.* (zero-allocation parsing)
-///
-public static class ContainerImageUtf8
-{
- /// container.image.id
- public static ReadOnlySpan Id => "container.image.id"u8;
-
- /// container.image.name
- public static ReadOnlySpan Name => "container.image.name"u8;
-
- /// container.image.repo_digests
- public static ReadOnlySpan RepoDigests => "container.image.repo_digests"u8;
-
- /// container.image.tags
- public static ReadOnlySpan Tags => "container.image.tags"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for container.name.* (zero-allocation parsing)
-///
-public static class ContainerNameUtf8
-{
- /// container.name
- public static ReadOnlySpan Name => "container.name"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for container.runtime.* (zero-allocation parsing)
-///
-public static class ContainerRuntimeUtf8
-{
- /// container.runtime
- public static ReadOnlySpan Runtime => "container.runtime"u8;
-
- /// container.runtime.description
- public static ReadOnlySpan Description => "container.runtime.description"u8;
-
- /// container.runtime.name
- public static ReadOnlySpan Name => "container.runtime.name"u8;
-
- /// container.runtime.version
- public static ReadOnlySpan Version => "container.runtime.version"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.cassandra.* (zero-allocation parsing)
-///
-public static class DbCassandraUtf8
-{
- /// db.cassandra.consistency_level
- public static ReadOnlySpan ConsistencyLevel => "db.cassandra.consistency_level"u8;
-
- /// db.cassandra.coordinator.dc
- public static ReadOnlySpan CoordinatorDc => "db.cassandra.coordinator.dc"u8;
-
- /// db.cassandra.coordinator.id
- public static ReadOnlySpan CoordinatorId => "db.cassandra.coordinator.id"u8;
-
- /// db.cassandra.idempotence
- public static ReadOnlySpan Idempotence => "db.cassandra.idempotence"u8;
-
- /// db.cassandra.page_size
- public static ReadOnlySpan PageSize => "db.cassandra.page_size"u8;
-
- /// db.cassandra.speculative_execution_count
- public static ReadOnlySpan SpeculativeExecutionCount => "db.cassandra.speculative_execution_count"u8;
-
- /// db.cassandra.table
- public static ReadOnlySpan Table => "db.cassandra.table"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.client.* (zero-allocation parsing)
-///
-public static class DbClientUtf8
-{
- /// db.client.connection.pool.name
- public static ReadOnlySpan ConnectionPoolName => "db.client.connection.pool.name"u8;
-
- /// db.client.connection.state
- public static ReadOnlySpan ConnectionState => "db.client.connection.state"u8;
-
- /// db.client.connections.pool.name
- public static ReadOnlySpan ConnectionsPoolName => "db.client.connections.pool.name"u8;
-
- /// db.client.connections.state
- public static ReadOnlySpan ConnectionsState => "db.client.connections.state"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.connection_string.* (zero-allocation parsing)
-///
-public static class DbConnectionStringUtf8
-{
- /// db.connection_string
- public static ReadOnlySpan Connection_string => "db.connection_string"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.cosmosdb.* (zero-allocation parsing)
-///
-public static class DbCosmosdbUtf8
-{
- /// db.cosmosdb.client_id
- public static ReadOnlySpan ClientId => "db.cosmosdb.client_id"u8;
-
- /// db.cosmosdb.connection_mode
- public static ReadOnlySpan ConnectionMode => "db.cosmosdb.connection_mode"u8;
-
- /// db.cosmosdb.consistency_level
- public static ReadOnlySpan ConsistencyLevel => "db.cosmosdb.consistency_level"u8;
-
- /// db.cosmosdb.container
- public static ReadOnlySpan Container => "db.cosmosdb.container"u8;
-
- /// db.cosmosdb.operation_type
- public static ReadOnlySpan OperationType => "db.cosmosdb.operation_type"u8;
-
- /// db.cosmosdb.regions_contacted
- public static ReadOnlySpan RegionsContacted => "db.cosmosdb.regions_contacted"u8;
-
- /// db.cosmosdb.request_charge
- public static ReadOnlySpan RequestCharge => "db.cosmosdb.request_charge"u8;
-
- /// db.cosmosdb.request_content_length
- public static ReadOnlySpan RequestContentLength => "db.cosmosdb.request_content_length"u8;
-
- /// db.cosmosdb.status_code
- public static ReadOnlySpan StatusCode => "db.cosmosdb.status_code"u8;
-
- /// db.cosmosdb.sub_status_code
- public static ReadOnlySpan SubStatusCode => "db.cosmosdb.sub_status_code"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.elasticsearch.* (zero-allocation parsing)
-///
-public static class DbElasticsearchUtf8
-{
- /// db.elasticsearch.cluster.name
- public static ReadOnlySpan ClusterName => "db.elasticsearch.cluster.name"u8;
-
- /// db.elasticsearch.node.name
- public static ReadOnlySpan NodeName => "db.elasticsearch.node.name"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.instance.* (zero-allocation parsing)
-///
-public static class DbInstanceUtf8
-{
- /// db.instance.id
- public static ReadOnlySpan Id => "db.instance.id"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.jdbc.* (zero-allocation parsing)
-///
-public static class DbJdbcUtf8
-{
- /// db.jdbc.driver_classname
- public static ReadOnlySpan DriverClassname => "db.jdbc.driver_classname"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.mongodb.* (zero-allocation parsing)
-///
-public static class DbMongodbUtf8
-{
- /// db.mongodb.collection
- public static ReadOnlySpan Collection => "db.mongodb.collection"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.mssql.* (zero-allocation parsing)
-///
-public static class DbMssqlUtf8
-{
- /// db.mssql.instance_name
- public static ReadOnlySpan InstanceName => "db.mssql.instance_name"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.name.* (zero-allocation parsing)
-///
-public static class DbNameUtf8
-{
- /// db.name
- public static ReadOnlySpan Name => "db.name"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.redis.* (zero-allocation parsing)
-///
-public static class DbRedisUtf8
-{
- /// db.redis.database_index
- public static ReadOnlySpan DatabaseIndex => "db.redis.database_index"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.sql.* (zero-allocation parsing)
-///
-public static class DbSqlUtf8
-{
- /// db.sql.table
- public static ReadOnlySpan Table => "db.sql.table"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.statement.* (zero-allocation parsing)
-///
-public static class DbStatementUtf8
-{
- /// db.statement
- public static ReadOnlySpan Statement => "db.statement"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for db.user.* (zero-allocation parsing)
-///
-public static class DbUserUtf8
-{
- /// db.user
- public static ReadOnlySpan User => "db.user"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for deployment.environment.* (zero-allocation parsing)
-///
-public static class DeploymentEnvironmentUtf8
-{
- /// deployment.environment
- public static ReadOnlySpan Environment => "deployment.environment"u8;
-
- /// deployment.environment.name
- public static ReadOnlySpan Name => "deployment.environment.name"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for deployment.id.* (zero-allocation parsing)
-///
-public static class DeploymentIdUtf8
-{
- /// deployment.id
- public static ReadOnlySpan Id => "deployment.id"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for deployment.name.* (zero-allocation parsing)
-///
-public static class DeploymentNameUtf8
-{
- /// deployment.name
- public static ReadOnlySpan Name => "deployment.name"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for deployment.status.* (zero-allocation parsing)
-///
-public static class DeploymentStatusUtf8
-{
- /// deployment.status
- public static ReadOnlySpan Status => "deployment.status"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for dns.answers.* (zero-allocation parsing)
-///
-public static class DnsAnswersUtf8
-{
- /// dns.answers
- public static ReadOnlySpan Answers => "dns.answers"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for dns.question.* (zero-allocation parsing)
-///
-public static class DnsQuestionUtf8
-{
- /// dns.question.name
- public static ReadOnlySpan Name => "dns.question.name"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for elasticsearch.node.* (zero-allocation parsing)
-///
-public static class ElasticsearchNodeUtf8
-{
- /// elasticsearch.node.name
- public static ReadOnlySpan Name => "elasticsearch.node.name"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for enduser.id.* (zero-allocation parsing)
-///
-public static class EnduserIdUtf8
-{
- /// enduser.id
- public static ReadOnlySpan Id => "enduser.id"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for enduser.pseudo.* (zero-allocation parsing)
-///
-public static class EnduserPseudoUtf8
-{
- /// enduser.pseudo.id
- public static ReadOnlySpan Id => "enduser.pseudo.id"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for enduser.role.* (zero-allocation parsing)
-///
-public static class EnduserRoleUtf8
-{
- /// enduser.role
- public static ReadOnlySpan Role => "enduser.role"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for enduser.scope.* (zero-allocation parsing)
-///
-public static class EnduserScopeUtf8
-{
- /// enduser.scope
- public static ReadOnlySpan Scope => "enduser.scope"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for error.message.* (zero-allocation parsing)
-///
-public static class ErrorMessageUtf8
-{
- /// error.message
- public static ReadOnlySpan Message => "error.message"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for faas.coldstart.* (zero-allocation parsing)
-///
-public static class FaasColdstartUtf8
-{
- /// faas.coldstart
- public static ReadOnlySpan Coldstart => "faas.coldstart"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for faas.cron.* (zero-allocation parsing)
-///
-public static class FaasCronUtf8
-{
- /// faas.cron
- public static ReadOnlySpan Cron => "faas.cron"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for faas.document.* (zero-allocation parsing)
-///
-public static class FaasDocumentUtf8
-{
- /// faas.document.collection
- public static ReadOnlySpan Collection => "faas.document.collection"u8;
-
- /// faas.document.name
- public static ReadOnlySpan Name => "faas.document.name"u8;
-
- /// faas.document.operation
- public static ReadOnlySpan Operation => "faas.document.operation"u8;
-
- /// faas.document.time
- public static ReadOnlySpan Time => "faas.document.time"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for faas.instance.* (zero-allocation parsing)
-///
-public static class FaasInstanceUtf8
-{
- /// faas.instance
- public static ReadOnlySpan Instance => "faas.instance"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for faas.invocation_id.* (zero-allocation parsing)
-///
-public static class FaasInvocationIdUtf8
-{
- /// faas.invocation_id
- public static ReadOnlySpan Invocation_id => "faas.invocation_id"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for faas.invoked_name.* (zero-allocation parsing)
-///
-public static class FaasInvokedNameUtf8
-{
- /// faas.invoked_name
- public static ReadOnlySpan Invoked_name => "faas.invoked_name"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for faas.invoked_provider.* (zero-allocation parsing)
-///
-public static class FaasInvokedProviderUtf8
-{
- /// faas.invoked_provider
- public static ReadOnlySpan Invoked_provider => "faas.invoked_provider"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for faas.invoked_region.* (zero-allocation parsing)
-///
-public static class FaasInvokedRegionUtf8
-{
- /// faas.invoked_region
- public static ReadOnlySpan Invoked_region => "faas.invoked_region"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for faas.max_memory.* (zero-allocation parsing)
-///
-public static class FaasMaxMemoryUtf8
-{
- /// faas.max_memory
- public static ReadOnlySpan Max_memory => "faas.max_memory"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for faas.name.* (zero-allocation parsing)
-///
-public static class FaasNameUtf8
-{
- /// faas.name
- public static ReadOnlySpan Name => "faas.name"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for faas.time.* (zero-allocation parsing)
-///
-public static class FaasTimeUtf8
-{
- /// faas.time
- public static ReadOnlySpan Time => "faas.time"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for faas.trigger.* (zero-allocation parsing)
-///
-public static class FaasTriggerUtf8
-{
- /// faas.trigger
- public static ReadOnlySpan Trigger => "faas.trigger"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for faas.version.* (zero-allocation parsing)
-///
-public static class FaasVersionUtf8
-{
- /// faas.version
- public static ReadOnlySpan Version => "faas.version"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for feature_flag.context.* (zero-allocation parsing)
-///
-public static class FeatureFlagContextUtf8
-{
- /// feature_flag.context.id
- public static ReadOnlySpan Id => "feature_flag.context.id"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for feature_flag.evaluation.* (zero-allocation parsing)
-///
-public static class FeatureFlagEvaluationUtf8
-{
- /// feature_flag.evaluation.error.message
- public static ReadOnlySpan ErrorMessage => "feature_flag.evaluation.error.message"u8;
-
- /// feature_flag.evaluation.reason
- public static ReadOnlySpan Reason => "feature_flag.evaluation.reason"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for feature_flag.key.* (zero-allocation parsing)
-///
-public static class FeatureFlagKeyUtf8
-{
- /// feature_flag.key
- public static ReadOnlySpan Key => "feature_flag.key"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for feature_flag.provider.* (zero-allocation parsing)
-///
-public static class FeatureFlagProviderUtf8
-{
- /// feature_flag.provider.name
- public static ReadOnlySpan Name => "feature_flag.provider.name"u8;
-
-}
-
-///
-/// UTF-8 attribute keys for feature_flag.result.* (zero-allocation parsing)
-///
-public static class FeatureFlagResultUtf8
-{
- /// feature_flag.result.reason
- public static ReadOnlySpan Reason => "feature_flag.result.reason"u8;
-
- /// feature_flag.result.value
- public static ReadOnlySpan Value => "feature_flag.result.value"u8;
-
- ///