public AppInsightsLogAppender(AppInsightsAppenderConfig config, ServiceContext serviceContext)
        {
            _config = config;
            var telemetryConfig = TelemetryConfiguration.Active;

            FabricTelemetryInitializerExtension.SetServiceCallContext(serviceContext);
            this._telemetryClient = new TelemetryClient(telemetryConfig);
        }
 /// <summary>
 /// Optional override to create listeners (e.g., TCP, HTTP) for this service replica to handle client or user requests.
 /// </summary>
 /// <returns>A collection of listeners.</returns>
 protected override IEnumerable <ServiceInstanceListener> CreateServiceInstanceListeners()
 {
     FabricTelemetryInitializerExtension.SetServiceCallContext(this.Context);
     return(new ServiceInstanceListener[1]
     {
         new ServiceInstanceListener(context => new FabricTransportServiceRemotingListener(context, new CorrelatingRemotingMessageHandler(context, this)))
     });
 }
예제 #3
0
        public StatelessBackendService(StatelessServiceContext context)
            : base(context)
        {
            var telemetryConfig = TelemetryConfiguration.Active;

            FabricTelemetryInitializerExtension.SetServiceCallContext(context);
            telemetryConfig.InstrumentationKey = System.Environment.GetEnvironmentVariable("APPINSIGHTS_INSTRUMENTATIONKEY");
            this.telemetryClient = new TelemetryClient(telemetryConfig);
        }
예제 #4
0
        /// <summary>
        /// Optional override to create listeners (like tcp, http) for this service instance.
        /// </summary>
        /// <returns>The collection of listeners.</returns>
        protected override IEnumerable <ServiceInstanceListener> CreateServiceInstanceListeners()
        {
            // Set context for Application Insights
            FabricTelemetryInitializerExtension.SetServiceCallContext(this.Context);

            return(new ServiceInstanceListener[]
            {
                new ServiceInstanceListener(serviceContext => new OwinCommunicationListener(Startup.ConfigureApp, serviceContext, ServiceEventSource.Current, "ServiceEndpoint"))
            });
        }
예제 #5
0
        /// <summary>
        /// Initializes a new instance of ActorBackendService
        /// </summary>
        /// <param name="actorService">The Microsoft.ServiceFabric.Actors.Runtime.ActorService that will host this actor instance.</param>
        /// <param name="actorId">The Microsoft.ServiceFabric.Actors.ActorId for this actor instance.</param>
        public MyActor(ActorService actorService, ActorId actorId)
            : base(actorService, actorId)
        {
            var telemetryConfig = TelemetryConfiguration.Active;

            FabricTelemetryInitializerExtension.SetServiceCallContext(actorService.Context);
            telemetryConfig.InstrumentationKey = System.Environment.GetEnvironmentVariable("APPINSIGHTS_INSTRUMENTATIONKEY");

            telemetryClient = new TelemetryClient(TelemetryConfiguration.Active);
        }
예제 #6
0
 public ActorBackendRemotingV1Service(
     StatefulServiceContext context,
     ActorTypeInformation actorTypeInfo,
     Func <ActorService, ActorId, ActorBase> actorFactory = null,
     Func <ActorBase, IActorStateProvider, IActorStateManager> stateManagerFactory = null,
     IActorStateProvider stateProvider = null,
     ActorServiceSettings settings     = null)
     : base(context, actorTypeInfo, actorFactory, stateManagerFactory, stateProvider, settings)
 {
     FabricTelemetryInitializerExtension.SetServiceCallContext(context);
 }
        public StatefulBackendService(StatefulServiceContext context)
            : base(context)
        {
            var telemetryConfig = TelemetryConfiguration.Active;

            FabricTelemetryInitializerExtension.SetServiceCallContext(context);
            var config      = context.CodePackageActivationContext.GetConfigurationPackageObject("Config");
            var appInsights = config.Settings.Sections["ApplicationInsights"];

            telemetryConfig.InstrumentationKey = appInsights.Parameters["InstrumentationKey"].Value;
        }
        /// <summary>
        /// Initializes a new instance of ActorBackendService
        /// </summary>
        /// <param name="actorService">The Microsoft.ServiceFabric.Actors.Runtime.ActorService that will host this actor instance.</param>
        /// <param name="actorId">The Microsoft.ServiceFabric.Actors.ActorId for this actor instance.</param>
        public MyActor(ActorService actorService, ActorId actorId)
            : base(actorService, actorId)
        {
            var telemetryConfig = TelemetryConfiguration.Active;

            FabricTelemetryInitializerExtension.SetServiceCallContext(actorService.Context);
            var config      = actorService.Context.CodePackageActivationContext.GetConfigurationPackageObject("Config");
            var appInsights = config.Settings.Sections["ApplicationInsights"];

            telemetryConfig.InstrumentationKey = appInsights.Parameters["InstrumentationKey"].Value;

            telemetryClient = new TelemetryClient(TelemetryConfiguration.Active);
        }
예제 #9
0
        public Gateway(StatelessServiceContext context)
            : base(context)
        {
            var client = new FabricClient();
            var communicationClientFactory = new RestCommunicationClientFactory <Mealservice>(new ServicePartitionResolver(() => client));
            var partitionClient            = new RestServicePartitionClient <Mealservice>(communicationClientFactory, new Uri("fabric:/Ksj.Mealplan/Service"), new ServicePartitionKey(long.MinValue), TargetReplicaSelector.RandomReplica);
            var telemetryConfig            = TelemetryConfiguration.Active;

            FabricTelemetryInitializerExtension.SetServiceCallContext(context);
            var config      = context.CodePackageActivationContext.GetConfigurationPackageObject("Config");
            var appInsights = config.Settings.Sections["ApplicationInsights"];

            telemetryConfig.InstrumentationKey = appInsights.Parameters["InstrumentationKey"].Value;
            _configurationSettings             = GetServiceConfiguration();
            _container = new ServiceContainer();
            _container.RegisterInstance <IRestServicePartitionClient <Mealservice> >(partitionClient);
        }
예제 #10
0
 protected override IEnumerable <ServiceInstanceListener> CreateServiceInstanceListeners()
 {
     FabricTelemetryInitializerExtension.SetServiceCallContext(this.Context);
     return(new ServiceInstanceListener[]
     {
         new ServiceInstanceListener(serviceContext =>
                                     new HttpSysCommunicationListener(serviceContext, "ServiceEndpoint", (url, listener) =>
         {
             url = $"{url}/api";
             ServiceEventSource.Current.ServiceMessage(serviceContext, $"Starting HttpSys on {url}");
             var host = GetWebHostBuilder(serviceContext, url, listener)
                        .UseStartup <WriteServiceStartup>()
                        .UseApplicationInsights()
                        .Build();
             return host;
         }))
     });
 }
예제 #11
0
 public Task <byte[]> RequestResponseAsync(IServiceRemotingRequestContext requestContext, ServiceRemotingMessageHeaders messageHeaders, byte[] requestBody)
 {
     FabricTelemetryInitializerExtension.SetServiceCallContext(_context);
     return(_handler.RequestResponseAsync(requestContext, messageHeaders, requestBody));
 }
예제 #12
0
 public void HandleOneWay(IServiceRemotingRequestContext requestContext, ServiceRemotingMessageHeaders messageHeaders, byte[] requestBody)
 {
     FabricTelemetryInitializerExtension.SetServiceCallContext(_context);
     _handler.HandleOneWay(requestContext, messageHeaders, requestBody);
 }
예제 #13
0
 public FabricTelemetryInitializingHandler(ServiceContext context, IServiceRemotingMessageHandler handler)
 {
     _context = context;
     _handler = handler;
     FabricTelemetryInitializerExtension.SetServiceCallContext(_context);
 }