public static MetricName GetExternalApp(string host, string crossProcessId)
 {
     return(MetricName.Create("ExternalApp", host, crossProcessId, All));
 }
 public static MetricName GetExternalTransaction(string host, string crossProcessId, string transactionName)
 {
     return(MetricName.Create("ExternalTransaction", host, crossProcessId, transactionName));
 }
 public static MetricName GetExternalErrors(string server)
 {
     return(MetricName.Create(External, server, "errors"));
 }
 public static MetricName GetClientApplication(string crossProcessId)
 {
     return(MetricName.Create("ClientApplication", crossProcessId, All));
 }
 public static MetricName GetExternalHostRollup(string host)
 {
     return(MetricName.Create(External, host, All));
 }
 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 GetDatastoreStatement(DatastoreVendor vendor, string model,
                                                string operation = null)
 {
     operation = operation ?? DatastoreUnknownOperationName;
     return(MetricName.Create(DatastoreStatement, EnumNameCache <DatastoreVendor> .GetName(vendor), model, operation));
 }
 public static MetricName GetDatastoreInstance(DatastoreVendor vendor, string host, string portPathOrId)
 {
     return(MetricName.Create(DatastoreInstance, EnumNameCache <DatastoreVendor> .GetName(vendor), host, portPathOrId));
 }
        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));
 }
        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));
            });
        }