public InstrumentationToken(StatsdInstrumenter instrumenter, InstrumentationPayload payload, IClock clock) { _instrumenter = instrumenter; _payload = payload; _clock = clock; _startTime = _clock.Now; }
private void PublishAdapterMetrics(TimeSpan duration, InstrumentationPayload payload) { var adapterName = payload.AdapterName; var operation = payload.Operation; _statsdClient.LogTiming(string.Format("flipper.adapter.{0}.{1}", adapterName, operation), (long)duration.TotalMilliseconds); }
private void PublishFeatureMetrics(TimeSpan duration, InstrumentationPayload payload) { var operation = payload.Operation.TrimEnd('?'); _statsdClient.LogTiming(string.Format("flipper.feature_operation.{0}", operation), (long)duration.TotalMilliseconds); if (payload.Operation == "enabled?") { var featureName = payload.FeatureName; string metricName; if ((bool)payload.Result) { metricName = string.Format("flipper.feature.{0}.enabled", featureName); } else { metricName = string.Format("flipper.feature.{0}.disabled", featureName); } _statsdClient.LogCount(metricName); } }
private void PublishGateMetrics(TimeSpan duration, InstrumentationPayload payload) { var featureName = payload.FeatureName; var gateName = payload.GateName; var operation = payload.Operation.TrimEnd('?'); var durationMilliseconds = (long)duration.TotalMilliseconds; _statsdClient.LogTiming(string.Format("flipper.gate_operation.{0}.{1}", gateName, operation), durationMilliseconds); _statsdClient.LogTiming(string.Format("flipper.feature.{0}.gate_operation.{1}.{2}", featureName, gateName, operation), durationMilliseconds); if (payload.Operation == "open?") { string metricName; if ((bool)payload.Result) { metricName = string.Format("flipper.feature.{0}.gate.{1}.open", featureName, gateName); } else { metricName = string.Format("flipper.feature.{0}.gate.{1}.closed", featureName, gateName); } _statsdClient.LogCount(metricName); } }
public IInstrumentationToken InstrumentGate(InstrumentationPayload payload) { return(new GateInstrumentationToken(this, payload, _clock)); }
public IInstrumentationToken InstrumentAdapter(InstrumentationPayload payload) { return(new AdapterInstrumentationToken(this, payload, _clock)); }
public IInstrumentationToken InstrumentFeature(InstrumentationPayload payload) { return(new FeatureInstrumentationToken(this, payload, _clock)); }
public GateInstrumentationToken(StatsdInstrumenter instrumenter, InstrumentationPayload payload, IClock clock) : base(instrumenter, payload, clock) { }
public IInstrumentationToken InstrumentFeature(InstrumentationPayload payload) { return(new InstrumentationToken()); }
public IInstrumentationToken InstrumentAdapter(InstrumentationPayload payload) { return(new InstrumentationToken()); }