public System.IDisposable CallExternalComponent(
            System.Uri requestName,
            string content)
        {
            return(new ScopeWrapper(new IDisposable[]
            {
                ScopeWrapperWithAction.Wrap(() =>
                {
                    Sample.Current.StartCallExternalComponent(
                        _processId,
                        _machineName,
                        requestName,
                        content
                        );

                    return new ScopeWrapperWithAction(() =>
                    {
                        Sample.Current.StopCallExternalComponent(
                            _processId,
                            _machineName,
                            requestName,
                            content
                            );
                    });
                }),
            }));
        }
        public System.IDisposable RecieveMessage(
            string message)
        {
            return(new ScopeWrapper(new IDisposable[]
            {
                ScopeWrapperWithAction.Wrap(() =>
                {
                    Sample.Current.StartRecieveMessage(
                        _processId,
                        _machineName,
                        _requestName,
                        message
                        );

                    return new ScopeWrapperWithAction(() =>
                    {
                        Sample.Current.StopRecieveMessage(
                            _processId,
                            _machineName,
                            _requestName,
                            message
                            );
                    });
                }),
            }));
        }
Beispiel #3
0
        public System.IDisposable CallService(
            System.Uri requestUri,
            string serviceMethodName,
            Microsoft.ServiceFabric.Services.Remoting.ServiceRemotingMessageHeaders serviceMessageHeaders,
            FG.ServiceFabric.Services.Remoting.FabricTransport.CustomServiceRequestHeader customServiceRequestHeader)
        {
            return(new ScopeWrapper(new IDisposable[]
            {
                ScopeWrapperWithAction.Wrap(() =>
                {
                    PersonActorServiceEventSource.Current.StartCallService(
                        _actor,
                        requestUri,
                        serviceMethodName,
                        serviceMessageHeaders,
                        customServiceRequestHeader
                        );

                    return new ScopeWrapperWithAction(() =>
                    {
                        PersonActorServiceEventSource.Current.StopCallService(
                            _actor,
                            requestUri,
                            serviceMethodName,
                            serviceMessageHeaders,
                            customServiceRequestHeader
                            );
                    });
                }),


                ScopeWrapperWithAction.Wrap(() =>
                {
                    var callServiceOperationHolder = _telemetryClient.StartOperation <DependencyTelemetry>(requestUri.ToString() ?? "callService");
                    callServiceOperationHolder.Telemetry.Properties.Add("ActorType", _actor.ActorType.ToString());
                    callServiceOperationHolder.Telemetry.Properties.Add("ActorId", _actor.ActorId.ToString());
                    callServiceOperationHolder.Telemetry.Properties.Add("ApplicationTypeName", _actor.ApplicationTypeName);
                    callServiceOperationHolder.Telemetry.Properties.Add("ApplicationName", _actor.ApplicationName);
                    callServiceOperationHolder.Telemetry.Properties.Add("ServiceTypeName", _actor.ServiceTypeName);
                    callServiceOperationHolder.Telemetry.Properties.Add("ServiceName", _actor.ToString());
                    callServiceOperationHolder.Telemetry.Properties.Add("PartitionId", _actor.PartitionId.ToString());
                    callServiceOperationHolder.Telemetry.Properties.Add("ReplicaOrInstanceId", _actor.ReplicaOrInstanceId.ToString());
                    callServiceOperationHolder.Telemetry.Properties.Add("NodeName", _actor.NodeName);
                    callServiceOperationHolder.Telemetry.Properties.Add("RequestUri", requestUri.ToString());
                    callServiceOperationHolder.Telemetry.Properties.Add("ServiceMethodName", serviceMethodName);
                    callServiceOperationHolder.Telemetry.Properties.Add("InterfaceId", (serviceMessageHeaders?.InterfaceId ?? 0).ToString());
                    callServiceOperationHolder.Telemetry.Properties.Add("MethodId", (serviceMessageHeaders?.MethodId ?? 0).ToString());
                    callServiceOperationHolder.Telemetry.Properties.Add("UserId", customServiceRequestHeader?.GetHeader("userId"));
                    callServiceOperationHolder.Telemetry.Properties.Add("CorrelationId", customServiceRequestHeader?.GetHeader("correlationId"));

                    return new ScopeWrapperWithAction(() =>
                    {
                        _telemetryClient.StopOperation <DependencyTelemetry>(callServiceOperationHolder);
                    });
                }),
            }));
        }
Beispiel #4
0
        public System.IDisposable CallActor(
            System.Uri requestUri,
            string actorMethodName,
            FG.ServiceFabric.Actors.Remoting.Runtime.ActorMessageHeaders actorMessageHeaders,
            FG.ServiceFabric.Services.Remoting.FabricTransport.CustomServiceRequestHeader customServiceRequestHeader)
        {
            return(new ScopeWrapper(new IDisposable[]
            {
                ScopeWrapperWithAction.Wrap(() =>
                {
                    WebApiServiceEventSource.Current.StartCallActor(
                        _context,
                        requestUri,
                        actorMethodName,
                        actorMessageHeaders,
                        customServiceRequestHeader
                        );

                    return new ScopeWrapperWithAction(() =>
                    {
                        WebApiServiceEventSource.Current.StopCallActor(
                            _context,
                            requestUri,
                            actorMethodName,
                            actorMessageHeaders,
                            customServiceRequestHeader
                            );
                    });
                }),


                ScopeWrapperWithAction.Wrap(() =>
                {
                    var callActorOperationHolder = _telemetryClient.StartOperation <DependencyTelemetry>(requestUri.ToString() ?? "callActor");
                    callActorOperationHolder.Telemetry.Properties.Add("ServiceName", _context.ServiceName.ToString());
                    callActorOperationHolder.Telemetry.Properties.Add("ServiceTypeName", _context.ServiceTypeName);
                    callActorOperationHolder.Telemetry.Properties.Add("ReplicaOrInstanceId", _context.InstanceId.ToString());
                    callActorOperationHolder.Telemetry.Properties.Add("PartitionId", _context.PartitionId.ToString());
                    callActorOperationHolder.Telemetry.Properties.Add("ApplicationName", _context.CodePackageActivationContext.ApplicationName);
                    callActorOperationHolder.Telemetry.Properties.Add("ApplicationTypeName", _context.CodePackageActivationContext.ApplicationTypeName);
                    callActorOperationHolder.Telemetry.Properties.Add("NodeName", _context.NodeContext.NodeName);
                    callActorOperationHolder.Telemetry.Properties.Add("RequestUri", requestUri.ToString());
                    callActorOperationHolder.Telemetry.Properties.Add("ActorMethodName", actorMethodName);
                    callActorOperationHolder.Telemetry.Properties.Add("InterfaceId", (actorMessageHeaders?.InterfaceId ?? 0).ToString());
                    callActorOperationHolder.Telemetry.Properties.Add("MethodId", (actorMessageHeaders?.MethodId ?? 0).ToString());
                    callActorOperationHolder.Telemetry.Properties.Add("ActorId", actorMessageHeaders?.ActorId.ToString());
                    callActorOperationHolder.Telemetry.Properties.Add("UserId", customServiceRequestHeader?.GetHeader("userId"));
                    callActorOperationHolder.Telemetry.Properties.Add("CorrelationId", customServiceRequestHeader?.GetHeader("correlationId"));

                    return new ScopeWrapperWithAction(() =>
                    {
                        _telemetryClient.StopOperation <DependencyTelemetry>(callActorOperationHolder);
                    });
                }),
            }));
        }
Beispiel #5
0
        public System.IDisposable RecieveServiceMessage(
            System.Uri requestUri,
            string serviceMethodName,
            Microsoft.ServiceFabric.Services.Remoting.ServiceRemotingMessageHeaders serviceMessageHeaders,
            FG.ServiceFabric.Services.Remoting.FabricTransport.CustomServiceRequestHeader customServiceRequestHeader)
        {
            return(new ScopeWrapper(new IDisposable[]
            {
                ScopeWrapperWithAction.Wrap(() =>
                {
                    TitleActorServiceEventSource.Current.StartRecieveServiceMessage(
                        _context,
                        requestUri,
                        serviceMethodName,
                        serviceMessageHeaders,
                        customServiceRequestHeader
                        );

                    return new ScopeWrapperWithAction(() =>
                    {
                        TitleActorServiceEventSource.Current.StopRecieveServiceMessage(
                            _context,
                            requestUri,
                            serviceMethodName,
                            serviceMessageHeaders,
                            customServiceRequestHeader
                            );
                    });
                }),


                ScopeWrapperWithAction.Wrap(() =>
                {
                    var recieveServiceMessageOperationHolder = _telemetryClient.StartOperation <RequestTelemetry>(requestUri.ToString() ?? "recieveServiceMessage");
                    recieveServiceMessageOperationHolder.Telemetry.Properties.Add("ServiceName", _context.ServiceName.ToString());
                    recieveServiceMessageOperationHolder.Telemetry.Properties.Add("ServiceTypeName", _context.ServiceTypeName);
                    recieveServiceMessageOperationHolder.Telemetry.Properties.Add("ReplicaOrInstanceId", _context.ReplicaOrInstanceId.ToString());
                    recieveServiceMessageOperationHolder.Telemetry.Properties.Add("PartitionId", _context.PartitionId.ToString());
                    recieveServiceMessageOperationHolder.Telemetry.Properties.Add("ApplicationName", _context.CodePackageActivationContext.ApplicationName);
                    recieveServiceMessageOperationHolder.Telemetry.Properties.Add("ApplicationTypeName", _context.CodePackageActivationContext.ApplicationTypeName);
                    recieveServiceMessageOperationHolder.Telemetry.Properties.Add("NodeName", _context.NodeContext.NodeName);
                    recieveServiceMessageOperationHolder.Telemetry.Properties.Add("RequestUri", requestUri.ToString());
                    recieveServiceMessageOperationHolder.Telemetry.Properties.Add("ServiceMethodName", serviceMethodName);
                    recieveServiceMessageOperationHolder.Telemetry.Properties.Add("InterfaceId", (serviceMessageHeaders?.InterfaceId ?? 0).ToString());
                    recieveServiceMessageOperationHolder.Telemetry.Properties.Add("MethodId", (serviceMessageHeaders?.MethodId ?? 0).ToString());
                    recieveServiceMessageOperationHolder.Telemetry.Properties.Add("UserId", customServiceRequestHeader?.GetHeader("userId"));
                    recieveServiceMessageOperationHolder.Telemetry.Properties.Add("CorrelationId", customServiceRequestHeader?.GetHeader("correlationId"));

                    return new ScopeWrapperWithAction(() =>
                    {
                        _telemetryClient.StopOperation <RequestTelemetry>(recieveServiceMessageOperationHolder);
                    });
                }),
            }));
        }
Beispiel #6
0
        public System.IDisposable RecieveWebApiRequest(
            System.Uri requestUri,
            string payload,
            string correlationId,
            string userId)
        {
            return(new ScopeWrapper(new IDisposable[]
            {
                ScopeWrapperWithAction.Wrap(() =>
                {
                    WebApiServiceEventSource.Current.StartRecieveWebApiRequest(
                        _context,
                        requestUri,
                        payload,
                        correlationId,
                        userId
                        );

                    return new ScopeWrapperWithAction(() =>
                    {
                        WebApiServiceEventSource.Current.StopRecieveWebApiRequest(
                            _context,
                            requestUri,
                            payload,
                            correlationId,
                            userId
                            );
                    });
                }),


                ScopeWrapperWithAction.Wrap(() =>
                {
                    var recieveWebApiRequestOperationHolder = _telemetryClient.StartOperation <RequestTelemetry>(requestUri.ToString() ?? "recieveWebApiRequest");
                    recieveWebApiRequestOperationHolder.Telemetry.Properties.Add("ServiceName", _context.ServiceName.ToString());
                    recieveWebApiRequestOperationHolder.Telemetry.Properties.Add("ServiceTypeName", _context.ServiceTypeName);
                    recieveWebApiRequestOperationHolder.Telemetry.Properties.Add("ReplicaOrInstanceId", _context.InstanceId.ToString());
                    recieveWebApiRequestOperationHolder.Telemetry.Properties.Add("PartitionId", _context.PartitionId.ToString());
                    recieveWebApiRequestOperationHolder.Telemetry.Properties.Add("ApplicationName", _context.CodePackageActivationContext.ApplicationName);
                    recieveWebApiRequestOperationHolder.Telemetry.Properties.Add("ApplicationTypeName", _context.CodePackageActivationContext.ApplicationTypeName);
                    recieveWebApiRequestOperationHolder.Telemetry.Properties.Add("NodeName", _context.NodeContext.NodeName);
                    recieveWebApiRequestOperationHolder.Telemetry.Properties.Add("RequestUri", requestUri.ToString());
                    recieveWebApiRequestOperationHolder.Telemetry.Properties.Add("Payload", payload);
                    recieveWebApiRequestOperationHolder.Telemetry.Properties.Add("CorrelationId", correlationId);
                    recieveWebApiRequestOperationHolder.Telemetry.Properties.Add("UserId", userId);

                    return new ScopeWrapperWithAction(() =>
                    {
                        _telemetryClient.StopOperation <RequestTelemetry>(recieveWebApiRequestOperationHolder);
                    });
                }),
            }));
        }
        public System.IDisposable RunAsyncLoop(
            )
        {
            return(new ScopeWrapper(new IDisposable[]
            {
                ScopeWrapperWithAction.Wrap(() =>
                {
                    PersonActorServiceEventSource.Current.StartRunAsyncLoop(
                        _actorService,
                        _context
                        );

                    return new ScopeWrapperWithAction(() =>
                    {
                        PersonActorServiceEventSource.Current.StopRunAsyncLoop(
                            _actorService,
                            _context
                            );
                    });
                }),


                ScopeWrapperWithAction.Wrap(() =>
                {
                    var runAsyncLoopOperationHolder = _telemetryClient.StartOperation <RequestTelemetry>(FG.ServiceFabric.Services.Remoting.FabricTransport.ServiceRequestContext.Current?["requestUri"] ?? "runAsyncLoop");
                    runAsyncLoopOperationHolder.Telemetry.Properties.Add("ActorType", _actorService.ActorTypeInformation.ImplementationType.ToString());
                    runAsyncLoopOperationHolder.Telemetry.Properties.Add("ApplicationTypeName", _actorService.Context.CodePackageActivationContext.ApplicationTypeName);
                    runAsyncLoopOperationHolder.Telemetry.Properties.Add("ApplicationName", _actorService.Context.CodePackageActivationContext.ApplicationName);
                    runAsyncLoopOperationHolder.Telemetry.Properties.Add("ServiceTypeName", _actorService.Context.ServiceTypeName);
                    runAsyncLoopOperationHolder.Telemetry.Properties.Add("ServiceName", _actorService.Context.ServiceName.ToString());
                    runAsyncLoopOperationHolder.Telemetry.Properties.Add("PartitionId", _actorService.Context.PartitionId.ToString());
                    runAsyncLoopOperationHolder.Telemetry.Properties.Add("ReplicaOrInstanceId", _actorService.Context.ReplicaId.ToString());
                    runAsyncLoopOperationHolder.Telemetry.Properties.Add("NodeName", _actorService.Context.NodeContext.NodeName);
                    runAsyncLoopOperationHolder.Telemetry.Properties.Add("CorrelationId", FG.ServiceFabric.Services.Remoting.FabricTransport.ServiceRequestContext.Current?["correlationId"]);
                    runAsyncLoopOperationHolder.Telemetry.Properties.Add("UserId", FG.ServiceFabric.Services.Remoting.FabricTransport.ServiceRequestContext.Current?["userId"]);
                    runAsyncLoopOperationHolder.Telemetry.Properties.Add("RequestUri", FG.ServiceFabric.Services.Remoting.FabricTransport.ServiceRequestContext.Current?["requestUri"]);

                    return new ScopeWrapperWithAction(() =>
                    {
                        _telemetryClient.StopOperation <RequestTelemetry>(runAsyncLoopOperationHolder);
                    });
                }),
            }));
        }
Beispiel #8
0
        public System.IDisposable WriteState(
            string stateName)
        {
            return(new ScopeWrapper(new IDisposable[]
            {
                ScopeWrapperWithAction.Wrap(() =>
                {
                    PersonActorServiceEventSource.Current.StartWriteState(
                        _actor,
                        stateName
                        );

                    return new ScopeWrapperWithAction(() =>
                    {
                        PersonActorServiceEventSource.Current.StopWriteState(
                            _actor,
                            stateName
                            );
                    });
                }),


                ScopeWrapperWithAction.Wrap(() =>
                {
                    var writeStateOperationHolder = _telemetryClient.StartOperation <RequestTelemetry>("writeState");
                    writeStateOperationHolder.Telemetry.Properties.Add("ActorType", _actor.ActorType.ToString());
                    writeStateOperationHolder.Telemetry.Properties.Add("ActorId", _actor.ActorId.ToString());
                    writeStateOperationHolder.Telemetry.Properties.Add("ApplicationTypeName", _actor.ApplicationTypeName);
                    writeStateOperationHolder.Telemetry.Properties.Add("ApplicationName", _actor.ApplicationName);
                    writeStateOperationHolder.Telemetry.Properties.Add("ServiceTypeName", _actor.ServiceTypeName);
                    writeStateOperationHolder.Telemetry.Properties.Add("ServiceName", _actor.ToString());
                    writeStateOperationHolder.Telemetry.Properties.Add("PartitionId", _actor.PartitionId.ToString());
                    writeStateOperationHolder.Telemetry.Properties.Add("ReplicaOrInstanceId", _actor.ReplicaOrInstanceId.ToString());
                    writeStateOperationHolder.Telemetry.Properties.Add("NodeName", _actor.NodeName);
                    writeStateOperationHolder.Telemetry.Properties.Add("StateName", stateName);

                    return new ScopeWrapperWithAction(() =>
                    {
                        _telemetryClient.StopOperation <RequestTelemetry>(writeStateOperationHolder);
                    });
                }),
            }));
        }
Beispiel #9
0
        public System.IDisposable RecieveMessage(
            string message)
        {
            return(new ScopeWrapper(new IDisposable[]
            {
                ScopeWrapperWithAction.Wrap(() =>
                {
                    FGDiagnosticsAutoLoggerSamplesConsoleApplication1EventSource.Current.StartRecieveMessage(
                        _autogenerated,
                        _machineName,
                        message
                        );

                    return new ScopeWrapperWithAction(() =>
                    {
                        FGDiagnosticsAutoLoggerSamplesConsoleApplication1EventSource.Current.StopRecieveMessage(
                            _autogenerated,
                            _machineName,
                            message
                            );
                    });
                }),


                ScopeWrapperWithAction.Wrap(() =>
                {
                    System.Diagnostics.Debug.WriteLine($"[Dependency] ERR: StartRecieveMessage");

                    System.Diagnostics.Debug.WriteLine($"\t_autogenerated:\t{_autogenerated}");
                    System.Diagnostics.Debug.WriteLine($"\tEnvironment.MachineName:\t{Environment.MachineName}");
                    System.Diagnostics.Debug.WriteLine($"\tmessage:\t{message}");

                    return new ScopeWrapperWithAction(() =>
                    {
                        System.Diagnostics.Debug.WriteLine($"[Dependency] ERR: StopRecieveMessage");

                        System.Diagnostics.Debug.WriteLine($"\t_autogenerated:\t{_autogenerated}");
                        System.Diagnostics.Debug.WriteLine($"\tEnvironment.MachineName:\t{Environment.MachineName}");
                        System.Diagnostics.Debug.WriteLine($"\tmessage:\t{message}");
                    });
                }),


                ScopeWrapperWithAction.Wrap(() =>
                {
                    _recieveMessageStopwatch.Restart();

                    return new ScopeWrapperWithAction(() =>
                    {
                        _recieveMessageStopwatch.Stop();
                    });
                }),


                ScopeWrapperWithAction.Wrap(() =>
                {
                    var recieveMessageOperationHolder = _telemetryClient.StartOperation <RequestTelemetry>("recieveMessage");
                    recieveMessageOperationHolder.Telemetry.Properties.Add("Autogenerated", _autogenerated.ToString());
                    recieveMessageOperationHolder.Telemetry.Properties.Add("MachineName", Environment.MachineName);
                    recieveMessageOperationHolder.Telemetry.Properties.Add("Message", message);

                    return new ScopeWrapperWithAction(() =>
                    {
                        _telemetryClient.StopOperation <RequestTelemetry>(recieveMessageOperationHolder);
                    });
                }),
            }));
        }
Beispiel #10
0
        public System.IDisposable CallExternalComponent(
            System.Uri requestName,
            string content)
        {
            return(new ScopeWrapper(new IDisposable[]
            {
                ScopeWrapperWithAction.Wrap(() =>
                {
                    FGDiagnosticsAutoLoggerSamplesConsoleApplication1EventSource.Current.StartCallExternalComponent(
                        _autogenerated,
                        _machineName,
                        requestName,
                        content
                        );

                    return new ScopeWrapperWithAction(() =>
                    {
                        FGDiagnosticsAutoLoggerSamplesConsoleApplication1EventSource.Current.StopCallExternalComponent(
                            _autogenerated,
                            _machineName,
                            requestName,
                            content
                            );
                    });
                }),


                ScopeWrapperWithAction.Wrap(() =>
                {
                    System.Diagnostics.Debug.WriteLine($"[Dependency] ERR: StartCallExternalComponent");

                    System.Diagnostics.Debug.WriteLine($"\t_autogenerated:\t{_autogenerated}");
                    System.Diagnostics.Debug.WriteLine($"\tEnvironment.MachineName:\t{Environment.MachineName}");
                    System.Diagnostics.Debug.WriteLine($"\trequestName.ToString():\t{requestName.ToString()}");
                    System.Diagnostics.Debug.WriteLine($"\tcontent:\t{content}");

                    return new ScopeWrapperWithAction(() =>
                    {
                        System.Diagnostics.Debug.WriteLine($"[Dependency] ERR: StopCallExternalComponent");

                        System.Diagnostics.Debug.WriteLine($"\t_autogenerated:\t{_autogenerated}");
                        System.Diagnostics.Debug.WriteLine($"\tEnvironment.MachineName:\t{Environment.MachineName}");
                        System.Diagnostics.Debug.WriteLine($"\trequestName.ToString():\t{requestName.ToString()}");
                        System.Diagnostics.Debug.WriteLine($"\tcontent:\t{content}");
                    });
                }),


                ScopeWrapperWithAction.Wrap(() =>
                {
                    _callExternalComponentStopwatch.Restart();

                    return new ScopeWrapperWithAction(() =>
                    {
                        _callExternalComponentStopwatch.Stop();
                    });
                }),


                ScopeWrapperWithAction.Wrap(() =>
                {
                    var callExternalComponentOperationHolder = _telemetryClient.StartOperation <DependencyTelemetry>(requestName.ToString() ?? "callExternalComponent");
                    callExternalComponentOperationHolder.Telemetry.Properties.Add("Autogenerated", _autogenerated.ToString());
                    callExternalComponentOperationHolder.Telemetry.Properties.Add("MachineName", Environment.MachineName);
                    callExternalComponentOperationHolder.Telemetry.Properties.Add("RequestName", requestName.ToString());
                    callExternalComponentOperationHolder.Telemetry.Properties.Add("Content", content);

                    return new ScopeWrapperWithAction(() =>
                    {
                        _telemetryClient.StopOperation <DependencyTelemetry>(callExternalComponentOperationHolder);
                    });
                }),
            }));
        }