Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------

namespace Microsoft.Azure.Cosmos.Telemetry
{
using System;
using System.Collections.Generic;
using System.Text;

internal sealed class AppInsightClassicAttributeKeys
{
/// <summary>
/// Represents the diagnostic namespace for Azure Cosmos.
/// </summary>
public const string DbName = "db.name";

/// <summary>
/// Represents the name of the database operation.
/// </summary>
public const string DbOperation = "db.operation";

/// <summary>
/// Represents the server address.
/// </summary>
public const string ServerAddress = "net.peer.name";

/// <summary>
/// Represents the name of the container in Cosmos DB.
/// </summary>
public const string ContainerName = "db.cosmosdb.container";

/// <summary>
/// Represents the status code of the response.
/// </summary>
public const string StatusCode = "db.cosmosdb.status_code";

/// <summary>
/// Represents the user agent
/// </summary>
public const string UserAgent = "db.cosmosdb.user_agent";

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -152,12 +152,23 @@ public void Record(
this.scope.AddAttribute(OpenTelemetryAttributeKeys.DbOperation, operationName);
this.scope.AddAttribute(OpenTelemetryAttributeKeys.DbName, databaseName);
this.scope.AddAttribute(OpenTelemetryAttributeKeys.ContainerName, containerName);


//TODO: Needs to rewrite
// Classic Appinsights Support
this.scope.AddAttribute(AppInsightClassicAttributeKeys.DbOperation, operationName);
this.scope.AddAttribute(AppInsightClassicAttributeKeys.DbName, databaseName);
this.scope.AddAttribute(AppInsightClassicAttributeKeys.ContainerName, containerName);

// Other information
this.scope.AddAttribute(OpenTelemetryAttributeKeys.DbSystemName, OpenTelemetryCoreRecorder.CosmosDb);
this.scope.AddAttribute(OpenTelemetryAttributeKeys.MachineId, VmMetadataApiHandler.GetMachineId());
this.scope.AddAttribute(OpenTelemetryAttributeKeys.ServerAddress, clientContext.Client?.Endpoint?.Host);

//TODO: Needs to rewrite
// Classic Appinsights Support
this.scope.AddAttribute(AppInsightClassicAttributeKeys.ServerAddress, clientContext.Client?.Endpoint?.Host);
this.scope.AddAttribute(AppInsightClassicAttributeKeys.UserAgent, clientContext.UserAgent);

// Client Information
this.scope.AddAttribute(OpenTelemetryAttributeKeys.ClientId, clientContext?.Client?.Id);
this.scope.AddAttribute(OpenTelemetryAttributeKeys.UserAgent, clientContext.UserAgent);
Expand Down Expand Up @@ -244,6 +255,11 @@ OperationType operationType
this.scope.AddAttribute(OpenTelemetryAttributeKeys.RequestContentLength, this.response.RequestContentLength);
this.scope.AddAttribute(OpenTelemetryAttributeKeys.ResponseContentLength, this.response.ResponseContentLength);
this.scope.AddIntegerAttribute(OpenTelemetryAttributeKeys.StatusCode, (int)this.response.StatusCode);

//TODO: Needs to rewrite
// Classic Appinsights Support
this.scope.AddIntegerAttribute(AppInsightClassicAttributeKeys.StatusCode, (int)this.response.StatusCode);

this.scope.AddIntegerAttribute(OpenTelemetryAttributeKeys.SubStatusCode, this.response.SubStatusCode);
this.scope.AddIntegerAttribute(OpenTelemetryAttributeKeys.RequestCharge, (int)this.response.RequestCharge);
this.scope.AddAttribute(OpenTelemetryAttributeKeys.ItemCount, this.response.ItemCount);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,9 +145,14 @@
<ATTRIBUTE key="db.operation.name">execute_batch</ATTRIBUTE>
<ATTRIBUTE key="db.namespace">databaseName</ATTRIBUTE>
<ATTRIBUTE key="db.collection.name">containerName</ATTRIBUTE>
<ATTRIBUTE key="db.operation">Some Value</ATTRIBUTE>
<ATTRIBUTE key="db.name">Some Value</ATTRIBUTE>
<ATTRIBUTE key="db.cosmosdb.container">Some Value</ATTRIBUTE>
<ATTRIBUTE key="db.system">cosmosdb</ATTRIBUTE>
<ATTRIBUTE key="db.cosmosdb.machine_id">Some Value</ATTRIBUTE>
<ATTRIBUTE key="server.address">127.0.0.1</ATTRIBUTE>
<ATTRIBUTE key="net.peer.name">Some Value</ATTRIBUTE>
<ATTRIBUTE key="db.cosmosdb.user_agent">Some Value</ATTRIBUTE>
<ATTRIBUTE key="db.cosmosdb.client_id">Some Value</ATTRIBUTE>
<ATTRIBUTE key="user_agent.original">Some Value</ATTRIBUTE>
<ATTRIBUTE key="db.cosmosdb.connection_mode">Direct</ATTRIBUTE>
Expand Down Expand Up @@ -298,9 +303,14 @@
<ATTRIBUTE key="db.operation.name">execute_batch</ATTRIBUTE>
<ATTRIBUTE key="db.namespace">databaseName</ATTRIBUTE>
<ATTRIBUTE key="db.collection.name">containerName</ATTRIBUTE>
<ATTRIBUTE key="db.operation">Some Value</ATTRIBUTE>
<ATTRIBUTE key="db.name">Some Value</ATTRIBUTE>
<ATTRIBUTE key="db.cosmosdb.container">Some Value</ATTRIBUTE>
<ATTRIBUTE key="db.system">cosmosdb</ATTRIBUTE>
<ATTRIBUTE key="db.cosmosdb.machine_id">Some Value</ATTRIBUTE>
<ATTRIBUTE key="server.address">127.0.0.1</ATTRIBUTE>
<ATTRIBUTE key="net.peer.name">Some Value</ATTRIBUTE>
<ATTRIBUTE key="db.cosmosdb.user_agent">Some Value</ATTRIBUTE>
<ATTRIBUTE key="db.cosmosdb.client_id">Some Value</ATTRIBUTE>
<ATTRIBUTE key="user_agent.original">Some Value</ATTRIBUTE>
<ATTRIBUTE key="db.cosmosdb.connection_mode">Direct</ATTRIBUTE>
Expand Down
Loading