Example #1
0
        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);
 }
Example #3
0
 public TraceData(InstrumentationInfo info, long timeTakenMilli,
                  string correlationId, InstrumentationContext context)
 {
     TimeTakenMilli = timeTakenMilli;
     Info           = info;
     Context        = context;
     CorrelationId  = correlationId;
     TimestampUtc   = DateTimeOffset.UtcNow;
 }