public void UpdateTags(IDictionary <string, string> tags, IContextTagKeys keys)
 {
     tags.UpdateTagValue(keys.UserId, this.Id, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.UserAccountId, this.AccountId, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.UserAgent, this.UserAgent, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.UserAuthUserId, this.AuthenticatedUserId, keys.TagSizeLimits);
 }
예제 #2
0
        public override IDictionary <string, string> ToContextTags(IContextTagKeys keys)
        {
            var result = base.ToContextTags(keys);

            this.data?.UpdateTags(result, keys);
            return(result);
        }
 public void UpdateTags(IDictionary <string, string> tags, IContextTagKeys keys)
 {
     tags.UpdateTagValue(keys.OperationId, this.Id, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.OperationParentId, this.ParentId, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.OperationCorrelationVector, this.CorrelationVector, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.OperationName, this.Name, keys.TagSizeLimits);
 }
 public void UpdateTags(IDictionary <string, string> tags, IContextTagKeys keys)
 {
     tags.UpdateTagValue(keys.DataRecordId, this.RecordId, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.DataRecordType, this.RecordType, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.DataRecordSource, this.RecordSource, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.DataRecordAltKeyName, this.AltKeyName, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.DataRecordAltKeyValue, this.AltKeyValue, keys.TagSizeLimits);
 }
 public void UpdateTags(IDictionary <string, string> tags, IContextTagKeys keys)
 {
     tags.UpdateTagValue(keys.DeviceType, this.Type, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.DeviceId, this.Id, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.DeviceOSVersion, this.OperatingSystem, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.DeviceOEMName, this.OemName, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.DeviceModel, this.Model, keys.TagSizeLimits);
 }
예제 #6
0
 public AITelemetrySerializer(IJsonWriterFactory jsonWriterFactory, IContextTagKeys contextTagKeys)
 {
     if (jsonWriterFactory == null)
     {
         throw new ArgumentNullException("jsonWriterFactory");
     }
     if (contextTagKeys == null)
     {
         throw new ArgumentNullException("contextTagKeys");
     }
     _contextTagKeys    = contextTagKeys;
     _jsonWriterFactory = jsonWriterFactory;
 }
        public virtual IDictionary <string, string> ToContextTags(IContextTagKeys keys)
        {
            var result = new Dictionary <string, string>();

            this.cloud?.UpdateTags(result, keys);
            this.component?.UpdateTags(result, keys);
            this.device?.UpdateTags(result, keys);
            this.Internal.UpdateTags(result, keys);
            this.location?.UpdateTags(result, keys);
            this.operation?.UpdateTags(result, keys);
            this.session?.UpdateTags(result, keys);
            this.user?.UpdateTags(result, keys);

            return(result);
        }
예제 #8
0
 public void UpdateTags(IDictionary <string, string> tags, IContextTagKeys keys)
 {
     tags.UpdateTagValue(keys.ComponentName, this.Name, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.ComponentVersion, this.Version, keys.TagSizeLimits);
 }
예제 #9
0
 protected virtual void WriteTelemetryContext(IJsonWriter json, ITelemetryContext context, IContextTagKeys keys)
 {
     if (context != null)
     {
         json.WriteProperty("iKey", context.InstrumentationKey);
         json.WriteProperty("tags", context.ToContextTags(keys));
     }
 }
예제 #10
0
        protected virtual void WriteEnvelopeProperties(ITelemetry telemetry, IJsonWriter json, IContextTagKeys keys)
        {
            json.WriteProperty("time", telemetry.Timestamp.UtcDateTime.ToString("o", CultureInfo.InvariantCulture));

            var samplingSupportingTelemetry = telemetry as ISupportSampling;

            if (samplingSupportingTelemetry != null &&
                samplingSupportingTelemetry.SamplingPercentage.HasValue &&
                (samplingSupportingTelemetry.SamplingPercentage.Value > 0.0 + 1.0E-12) &&
                (samplingSupportingTelemetry.SamplingPercentage.Value < 100.0 - 1.0E-12))
            {
                json.WriteProperty("sampleRate", samplingSupportingTelemetry.SamplingPercentage.Value);
            }

            json.WriteProperty("seq", telemetry.Sequence);
            WriteTelemetryContext(json, telemetry.Context, keys);
        }
 public void UpdateTags(IDictionary <string, string> tags, IContextTagKeys keys)
 {
     tags.UpdateTagValue(keys.InternalSdkVersion, this.SdkVersion, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.InternalAgentVersion, this.AgentVersion, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.InternalNodeName, this.NodeName, keys.TagSizeLimits);
 }
예제 #12
0
 public void UpdateTags(IDictionary <string, string> tags, IContextTagKeys keys)
 {
     tags.UpdateTagValue(keys.LocationIp, this.Ip, keys.TagSizeLimits);
 }
 public void UpdateTags(IDictionary <string, string> tags, IContextTagKeys keys)
 {
     tags.UpdateTagValue(keys.SessionId, this.Id, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.SessionIsFirst, this.IsFirst);
 }
예제 #14
0
 public void UpdateTags(IDictionary <string, string> tags, IContextTagKeys keys)
 {
     tags.UpdateTagValue(keys.CloudRole, this.RoleName, keys.TagSizeLimits);
     tags.UpdateTagValue(keys.CloudRoleInstance, this.RoleInstance, keys.TagSizeLimits);
 }