示例#1
0
        public static Task Main()
        {
            Init();

            SampleMetricsRunner.ScheduleSomeSampleMetrics(Metrics);

            // Using AspNet Core to host a HTTP endpoint which receives metrics as JSON via the HTTP reporter.
            var host = new WebHostBuilder()
                       .UseKestrel()
                       .UseStartup <Startup>()
                       .UseUrls("http://localhost:50001")
                       .Build();

            host.Run();

            return(Task.CompletedTask);
        }
示例#2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure <CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded    = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            string mackerelApiKey = Configuration.GetValue <string>("Mackerel:ApiKey");
            string mackerelHostId = Configuration.GetValue <string>("Mackerel:HostId");
            var    filter         = new MetricsFilter();
            var    metrics        = AppMetrics.CreateDefaultBuilder()
                                    .Report.ToMackerel(
                options =>
            {
                options.ApiKey = mackerelApiKey;
                options.HostId = mackerelHostId;

                options.HttpOptions.HttpPolicy.BackoffPeriod         = TimeSpan.FromSeconds(30);
                options.HttpOptions.HttpPolicy.FailuresBeforeBackoff = 3;
                options.HttpOptions.HttpPolicy.Timeout = TimeSpan.FromSeconds(10);
                options.HttpOptions.Filter             = filter;
                options.HttpOptions.FlushInterval      = TimeSpan.FromSeconds(60);
            })
                                    .Build();

            SampleMetricsRunner.ScheduleSomeSampleMetrics(metrics);
            services.AddMetrics(metrics);
            services.AddMetricsTrackingMiddleware();
            services.AddMetricsReportingHostedService();
            services.AddMetricsEndpoints();

            services.AddMvc()
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
            .AddMetrics();
        }