static MetricNames() { _databaseVendorAll = GetEnumerationFunc <DatastoreVendor, MetricName>(vendor => MetricName.Create(Datastore + PathSeparator + EnumNameCache <DatastoreVendor> .GetName(vendor) + PathSeparator + All)); _databaseVendorAllWeb = GetEnumerationFunc <DatastoreVendor, MetricName>(vendor => MetricName.Create(Datastore + PathSeparator + EnumNameCache <DatastoreVendor> .GetName(vendor) + PathSeparator + AllWeb)); _databaseVendorAllOther = GetEnumerationFunc <DatastoreVendor, MetricName>(vendor => MetricName.Create(Datastore + PathSeparator + EnumNameCache <DatastoreVendor> .GetName(vendor) + PathSeparator + AllOther)); var operations = new HashSet <string>(SqlParser.Operations); operations.Add(DatastoreUnknownOperationName); _databaseVendorOperations = GetEnumerationFunc <DatastoreVendor, Func <string, MetricName> >( vendor => { var dict = new Dictionary <string, MetricName>(operations.Count); var metricNamePrefix = DatastoreOperation + PathSeparator + EnumNameCache <DatastoreVendor> .GetName(vendor) + PathSeparator; foreach (var operation in operations) { dict[operation] = MetricName.Create(metricNamePrefix + operation); } return(operation => (dict.TryGetValue(operation, out var name)) ? name : MetricName.Create(DatastoreOperation, EnumNameCache <DatastoreVendor> .GetName(vendor), operation)); }); }
public static MetricName GetMessageBroker(MessageBrokerDestinationType type, MessageBrokerAction action, string vendor, string queueName) { var normalizedType = NormalizeMessageBrokerDestinationTypeForMetricName(type); return((queueName != null) ? MetricName.Create(MessageBrokerPrefix, vendor, normalizedType, action, MessageBrokerNamed, queueName) : MetricName.Create(MessageBrokerPrefix, vendor, normalizedType, action, MessageBrokerTemp)); }
/// <summary> /// Returns the a tuple of two metric names. The first one ends in /all and the second one ends in allWeb /// or allOther depending on the input value of isWeb. /// </summary> /// <param name="type">The type of the parent</param> /// <param name="accountId">The account Id of the parent</param> /// <param name="app">The app value of the parent</param> /// <param name="transport">e.g. http, grpc</param> /// <param name="isWeb">if true, creates the allWeb metric name. if false, creates the allOther metric name</param> /// <returns>A tuple of two strings: /// <para>TransportDuration/{parent.type}/{parent.accountId}/{parent.appId}/{transport}/all</para> /// and /// <para>TransportDuration/{parent.type}/{parent.accountId}/{parent.appId}/{transport}/{allWeb|allOther}</para> /// </returns> public static (MetricName all, MetricName webOrOther) GetDistributedTraceTransportDuration( string type, string accountId, string app, string transport, bool isWeb) { var prefix = GetDistributedTraceMetricPrefix(DistributedTraceTransportDurationPs, type, accountId, app, transport); return(all : MetricName.Create(prefix + All), webOrOther : MetricName.Create(prefix + (isWeb ? AllWeb : AllOther))); }
public static MetricName GetExternalTransaction(string host, string crossProcessId, string transactionName) { return(MetricName.Create("ExternalTransaction", host, crossProcessId, transactionName)); }
public static MetricName GetExternalApp(string host, string crossProcessId) { return(MetricName.Create("ExternalApp", host, crossProcessId, All)); }
public static MetricName GetClientApplication(string crossProcessId) { return(MetricName.Create("ClientApplication", crossProcessId, All)); }
public static MetricName GetExternalErrors(string server) { return(MetricName.Create(External, server, "errors")); }
public static MetricName GetExternalHost(string host, string library, string operation = null) { return(operation != null ? MetricName.Create(External, host, library, operation) : MetricName.Create(External, host, library)); }
public static MetricName GetExternalHostRollup(string host) { return(MetricName.Create(External, host, All)); }
public static MetricName GetDatastoreInstance(DatastoreVendor vendor, string host, string portPathOrId) { return(MetricName.Create(DatastoreInstance, EnumNameCache <DatastoreVendor> .GetName(vendor), host, portPathOrId)); }
public static MetricName GetDatastoreStatement(DatastoreVendor vendor, string model, string operation = null) { operation = operation ?? DatastoreUnknownOperationName; return(MetricName.Create(DatastoreStatement, EnumNameCache <DatastoreVendor> .GetName(vendor), model, operation)); }
public static MetricName TransactionTotalTime(TransactionMetricName transactionMetricName) { var prefix = transactionMetricName.IsWebTransactionName ? WebTransactionTotalTimeAll : OtherTransactionTotalTimeAll; return(MetricName.Create(prefix.ToString(), transactionMetricName.UnPrefixedName)); }
public static MetricName GetDotNetInvocation(params string[] segments) { return(MetricName.Create(DotNetInvocation, segments)); }
public static MetricName GetErrorTransaction(string transactionMetricName) { return(MetricName.Create(Errors, transactionMetricName)); }
public static MetricName GetCustom(string suffix) { return(MetricName.Create(Custom, suffix)); }