public void SetUp() { FlipperActor = MockActor("User:5"); StatsdClient = MockRepository.GenerateStub<IStatsd>(); Instrumenter = new StatsdInstrumenter(StatsdClient); Flipper = new Flipper(new MemoryAdapter(), Instrumenter); }
public InstrumentationToken(StatsdInstrumenter instrumenter, InstrumentationPayload payload, IClock clock) { _instrumenter = instrumenter; _payload = payload; _clock = clock; _startTime = _clock.Now; }
public void ShouldPublishFeatureTimingMetricForAllOperations() { var operationName = "Operation"; long milliseconds = 15; var clock = MockClock(milliseconds); var StatsdClient = MockRepository.GenerateStub<IStatsd>(); var payload = new InstrumentationPayload { Operation = operationName, }; var Instrumenter = new StatsdInstrumenter(StatsdClient, clock); var token = Instrumenter.InstrumentFeature(payload); token.Dispose(); StatsdClient.AssertWasCalled(x => x.LogTiming(string.Format("flipper.feature_operation.{0}", operationName), milliseconds)); }
public void ShouldPublishFeatureCountMetricForIsEnabledOperation(bool isEnabled, string status) { var featureName = "Feature"; var operationName = "enabled?"; var StatsdClient = MockRepository.GenerateStub<IStatsd>(); var payload = new InstrumentationPayload { FeatureName = featureName, Operation = operationName, Result = isEnabled, }; var Instrumenter = new StatsdInstrumenter(StatsdClient); var token = Instrumenter.InstrumentFeature(payload); token.Dispose(); StatsdClient.AssertWasCalled(x => x.LogCount(string.Format("flipper.feature.{0}.{1}", featureName, status))); }
public void ShouldStripQuestionMarkFromOperationName() { var operationName = "Operation?"; var expectedOperationName = "Operation"; var StatsdClient = MockRepository.GenerateStub<IStatsd>(); var payload = new InstrumentationPayload { Operation = operationName, }; var Instrumenter = new StatsdInstrumenter(StatsdClient); var token = Instrumenter.InstrumentFeature(payload); token.Dispose(); StatsdClient.AssertWasCalled(x => x.LogTiming( Arg<string>.Is.Equal(string.Format("flipper.feature_operation.{0}", expectedOperationName)), Arg<long>.Is.Anything)); }
public GateInstrumentationToken(StatsdInstrumenter instrumenter, InstrumentationPayload payload, IClock clock) : base(instrumenter, payload, clock) { }