public void CanSend() { var trc = new UdpFluentdTracer("localhost", port); var cor = "ha ha"; var ii = new InstrumentationInfo() { CategoryName = "cat", CorrelationIdKey = Guid.NewGuid().ToString(), InstanceName = "ins", Name = "subo" }; var token = trc.Start(ii); trc.Finish(token, 100, correlationId: cor); Thread.Sleep(1000); Assert.NotNull(_listener.LastResult.Buffer); var s = Encoding.UTF8.GetString(_listener.LastResult.Buffer); var data = JsonConvert.DeserializeObject <TraceData>(s); Assert.Equal(cor, data.CorrelationId); Assert.Equal("cat", data.Info.CategoryName); Assert.Equal("ins", data.Info.InstanceName); Assert.Equal("subo", data.Info.Name); Assert.Equal(100L, data.TimeTakenMilli); }
// ReSharper disable once SuggestBaseTypeForParameter internal InstrumentorRequiredEventArgs(string categoryName, IInstrumentationInfo info) { CategoryName = categoryName; // TODO: TBD: ICloneable would be better but for potential snag with the custom Attributes Info = new InstrumentationInfo(info); _lazyInstrumentor = new Lazy <SimpleInstrumentor>(GetDefaultInstrumentor); }
public TraceData(InstrumentationInfo info, long timeTakenMilli, string correlationId, InstrumentationContext context) { TimeTakenMilli = timeTakenMilli; Info = info; Context = context; CorrelationId = correlationId; TimestampUtc = DateTimeOffset.UtcNow; }