internal void SetDefaults(OperationContextData source)
 {
     this.tags.InitializeTagValue(ContextTagKeys.Keys.OperationId, source.Id);
     this.tags.InitializeTagValue(ContextTagKeys.Keys.OperationName, source.Name);
     this.tags.InitializeTagValue(ContextTagKeys.Keys.OperationParentId, source.ParentId);
     this.tags.InitializeTagValue(ContextTagKeys.Keys.OperationRootId, source.RootId);
     this.tags.InitializeTagValue(ContextTagKeys.Keys.OperationSyntheticSource, source.SyntheticSource);
     this.tags.InitializeTagValue(ContextTagKeys.Keys.OperationIsSynthetic, source.IsSynthetic);
 }
示例#2
0
 internal void SetDefaults(OperationContextData source)
 {
     this.tags.InitializeTagValue(ContextTagKeys.Keys.OperationId, source.Id);
     this.tags.InitializeTagValue(ContextTagKeys.Keys.OperationName, source.Name);
     this.tags.InitializeTagValue(ContextTagKeys.Keys.OperationParentId, source.ParentId);
     this.tags.InitializeTagValue(ContextTagKeys.Keys.OperationRootId, source.RootId);
     this.tags.InitializeTagValue(ContextTagKeys.Keys.OperationSyntheticSource, source.SyntheticSource);
     this.tags.InitializeTagValue(ContextTagKeys.Keys.OperationCorrelationVector, source.CorrelationVector);
 }
示例#3
0
        public void Initialize(ITelemetry telemetry)
        {
            if (telemetry is RequestTelemetry)
            {
                var request = telemetry as RequestTelemetry;

                // Adding a new property to request telemetry, thereby adding the same property to the service profiler event which enables the filtering in UI.
                request.Properties[ServiceProfilerEventKey] = "true";

                var requestData = new RequestData();
                requestData.duration     = request.Duration.ToString();
                requestData.httpMethod   = request.HttpMethod;
                requestData.id           = request.Id;
                requestData.name         = request.Name;
                requestData.responseCode = request.ResponseCode;
                requestData.startTime    = request.StartTime.ToString();
                requestData.success      = request.Success;
                requestData.url          = request.Url == null ? "" : request.Url.ToString();
                requestData.properties   = request.Properties;

                var tags = new Dictionary <string, string>();

                var userCtx = new UserContextData(tags);
                userCtx.AccountId       = request.Context.User.AccountId;
                userCtx.AcquisitionDate = request.Context.User.AcquisitionDate;
                userCtx.Id        = request.Context.User.Id;
                userCtx.UserAgent = request.Context.User.UserAgent;

                var operationCtx = new OperationContextData(tags);
                operationCtx.Id   = request.Context.Operation.Id;
                operationCtx.Name = request.Context.Operation.Name;

                this.WriteEvent(EventName, request.Context.InstrumentationKey, tags, requestData);

                ApplicationInsightsEventSource.Log.RequestSent(request.Context.InstrumentationKey, request.Name, request.Id);
            }
        }