コード例 #1
0
        public RequestContextTests_Silo(ITestOutputHelper output, Fixture fixture)
        {
            this.output        = output;
            this.fixture       = fixture;
            this.runtimeClient = this.fixture.Client.ServiceProvider.GetRequiredService <OutsideRuntimeClient>();
            RequestContext.PropagateActivityId = true; // Client-side setting

            RequestContextTestUtils.ClearActivityId();
            RequestContext.Clear();
        }
コード例 #2
0
        public void ClientInit_SqlServer_WithStats()
        {
            Assert.IsTrue(GrainClient.IsInitialized);

            ClientConfiguration config = this.HostedCluster.ClientConfig;

            Assert.AreEqual(ClientConfiguration.GatewayProviderType.SqlServer, config.GatewayProvider, "GatewayProviderType");

            Assert.IsTrue(config.UseSqlSystemStore, "Client UseSqlSystemStore");

            OutsideRuntimeClient ogc = (OutsideRuntimeClient)RuntimeClient.Current;

            Assert.IsNotNull(ogc.ClientStatistics, "Client Statistics Manager is setup");

            Assert.AreEqual("SQL", config.StatisticsProviderName, "Client.StatisticsProviderName");

            Silo silo = this.HostedCluster.Primary.Silo;

            Assert.IsTrue(silo.TestHook.HasStatisticsProvider, "Silo StatisticsProviderManager is setup");
            Assert.AreEqual("SQL", silo.LocalConfig.StatisticsProviderName, "Silo.StatisticsProviderName");
        }
コード例 #3
0
        public async Task ClientInit_SqlServer_WithStats()
        {
            Assert.True(GrainClient.IsInitialized);

            ClientConfiguration config = this.HostedCluster.ClientConfig;

            Assert.Equal(ClientConfiguration.GatewayProviderType.SqlServer, config.GatewayProvider);   // "GatewayProviderType"

            Assert.True(config.UseSqlSystemStore, "Client UseSqlSystemStore");

            OutsideRuntimeClient ogc = (OutsideRuntimeClient)RuntimeClient.Current;

            Assert.NotNull(ogc.ClientStatistics);               // Client Statistics Manager is setup

            Assert.Equal("SQL", config.StatisticsProviderName); // "Client.StatisticsProviderName"

            SiloHandle silo = this.HostedCluster.Primary;

            Assert.True(await silo.TestHook.HasStatisticsProvider(), "Silo StatisticsProviderManager is setup");
            Assert.Equal("SQL", silo.NodeConfiguration.StatisticsProviderName);   // "Silo.StatisticsProviderName"
        }
コード例 #4
0
        public void Stats_Init_Mock()
        {
            ClientConfiguration config = this.HostedCluster.ClientConfig;

            OutsideRuntimeClient ogc = (OutsideRuntimeClient)RuntimeClient.Current;

            Assert.IsNotNull(ogc.ClientStatistics, "Client Statistics Manager is setup");

            Assert.AreEqual("MockStats", config.StatisticsProviderName, "Client.StatisticsProviderName");

            Silo silo = this.HostedCluster.Primary.Silo;

            Assert.IsTrue(silo.TestHook.HasStatisticsProvider, "Silo StatisticsProviderManager is setup");
            Assert.AreEqual("MockStats", silo.LocalConfig.StatisticsProviderName, "Silo.StatisticsProviderName");

            // Check we got some stats & metrics callbacks on both client and server.
            var siloStatsCollector     = this.HostedCluster.Primary.Silo.TestHook.StatisticsProvider as MockStatsSiloCollector;
            var clientStatsCollector   = MockStatsCollectorClient.StatsPublisherInstance;
            var clientMetricsCollector = MockStatsCollectorClient.MetricsPublisherInstance;

            // Stats publishing is set to 1s interval in config files.
            Thread.Sleep(TimeSpan.FromSeconds(2));

            long numClientStatsCalls   = clientStatsCollector.NumStatsCalls;
            long numClientMetricsCalls = clientMetricsCollector.NumMetricsCalls;
            long numSiloStatsCalls     = siloStatsCollector.NumStatsCalls;
            long numSiloMetricsCalls   = siloStatsCollector.NumMetricsCalls;

            Console.WriteLine("Client - Metrics calls = {0} Stats calls = {1}", numClientMetricsCalls,
                              numSiloMetricsCalls);
            Console.WriteLine("Silo - Metrics calls = {0} Stats calls = {1}", numClientStatsCalls, numSiloStatsCalls);

            Assert.IsTrue(numClientMetricsCalls > 0, "Some client metrics calls = {0}", numClientMetricsCalls);
            Assert.IsTrue(numSiloMetricsCalls > 0, "Some silo metrics calls = {0}", numSiloMetricsCalls);
            Assert.IsTrue(numClientStatsCalls > 0, "Some client stats calls = {0}", numClientStatsCalls);
            Assert.IsTrue(numSiloStatsCalls > 0, "Some silo stats calls = {0}", numSiloStatsCalls);
        }
コード例 #5
0
ファイル: StatsTests.cs プロジェクト: nithyanantham/orleans
        public async Task Stats_Init_Mock()
        {
            ClientConfiguration config = this.HostedCluster.ClientConfiguration;

            OutsideRuntimeClient ogc = (OutsideRuntimeClient)RuntimeClient.Current;

            Assert.NotNull(ogc.ClientStatistics);

            Assert.Equal("MockStats", config.StatisticsProviderName);   // "Client.StatisticsProviderName"

            SiloHandle silo = this.HostedCluster.Primary;

            Assert.True(await silo.TestHook.HasStatisticsProvider(), "Silo StatisticsProviderManager is setup");

            // Check we got some stats & metrics callbacks on both client and server.
            var siloStatsCollector     = this.fixture.GrainFactory.GetGrain <IStatsCollectorGrain>(0);
            var clientStatsCollector   = MockStatsCollectorClient.StatsPublisherInstance;
            var clientMetricsCollector = MockStatsCollectorClient.MetricsPublisherInstance;

            // Stats publishing is set to 1s interval in config files.
            await Task.Delay(TimeSpan.FromSeconds(3));

            long numClientStatsCalls   = clientStatsCollector.NumStatsCalls;
            long numClientMetricsCalls = clientMetricsCollector.NumMetricsCalls;
            long numSiloStatsCalls     = await siloStatsCollector.GetReportStatsCallCount();

            long numSiloMetricsCalls = await siloStatsCollector.GetReportMetricsCallCount();

            output.WriteLine("Client - Metrics calls = {0} Stats calls = {1}", numClientMetricsCalls,
                             numClientMetricsCalls);
            output.WriteLine("Silo - Metrics calls = {0} Stats calls = {1}", numSiloStatsCalls, numSiloStatsCalls);

            Assert.True(numClientMetricsCalls > 0, $"Some client metrics calls = {numClientMetricsCalls}");
            Assert.True(numSiloMetricsCalls > 0, $"Some silo metrics calls = {numSiloMetricsCalls}");
            Assert.True(numClientStatsCalls > 0, $"Some client stats calls = {numClientStatsCalls}");
            Assert.True(numSiloStatsCalls > 0, $"Some silo stats calls = {numSiloStatsCalls}");
        }
コード例 #6
0
        public override async Task InitializeAsync()
        {
            await base.InitializeAsync();

            this.runtimeClient = this.Client.ServiceProvider.GetRequiredService <OutsideRuntimeClient>();
        }
コード例 #7
0
 public GatewayConnectionTests()
 {
     this.runtimeClient = this.Client.ServiceProvider.GetRequiredService <OutsideRuntimeClient>();
 }
コード例 #8
0
 public ClientConnectionEventTests()
 {
     this.runtimeClient = this.HostedCluster.Client.ServiceProvider.GetRequiredService <OutsideRuntimeClient>();
 }