public void WhenSendIsCalledTheEventIsBeingQueuedInTheBuffer() { var telemetryBuffer = new TelemetryBuffer(); var channel = new InMemoryChannel(telemetryBuffer, new InMemoryTransmitter(telemetryBuffer)); var sentTelemetry = new StubTelemetry(); channel.Send(sentTelemetry); IEnumerable<ITelemetry> telemetries = telemetryBuffer.Dequeue(); Assert.Equal(1, telemetries.Count()); Assert.Same(sentTelemetry, telemetries.First()); }
public void TelemetryBufferCallingOnFullActionWhenBufferCapacityReached() { IEnumerable<ITelemetry> items = null; TelemetryBuffer buffer = new TelemetryBuffer { Capacity = 2 }; buffer.OnFull = () => { items = buffer.Dequeue(); }; buffer.Enqueue(new EventTelemetry("Event1")); buffer.Enqueue(new EventTelemetry("Event2")); Assert.NotNull(items); Assert.Equal(2, items.Count()); }
public void WhenSendIsCalledTheEventIsBeingQueuedInTheBuffer() { var telemetryBuffer = new TelemetryBuffer(); var channel = new InMemoryChannel(telemetryBuffer, new InMemoryTransmitter(telemetryBuffer)); var sentTelemetry = new StubTelemetry(); channel.Send(sentTelemetry); IEnumerable <ITelemetry> telemetries = telemetryBuffer.Dequeue(); Assert.Equal(1, telemetries.Count()); Assert.Same(sentTelemetry, telemetries.First()); }
public void WhenSendIsCalledTheEventIsBeingQueuedInTheBuffer() { var telemetryBuffer = new TelemetryBuffer(); var channel = new InMemoryChannel(telemetryBuffer, new InMemoryTransmitter(telemetryBuffer)); var sentTelemetry = new StubTelemetry(); sentTelemetry.Context.InstrumentationKey = Guid.NewGuid().ToString(); channel.Send(sentTelemetry); IEnumerable <ITelemetry> telemetries = telemetryBuffer.Dequeue(); Assert.AreEqual(1, telemetries.Count()); Assert.AreSame(sentTelemetry, telemetries.First()); }
public void TelemetryBufferCallingOnFullActionWhenBufferCapacityReached() { IEnumerable <ITelemetry> items = null; TelemetryBuffer buffer = new TelemetryBuffer { Capacity = 2 }; buffer.OnFull = () => { items = buffer.Dequeue(); }; buffer.Enqueue(new EventTelemetry("Event1")); buffer.Enqueue(new EventTelemetry("Event2")); Assert.NotNull(items); Assert.Equal(2, items.Count()); }
public void TelemetryWithNoInstrumentationKeyIsDropped() { var telemetryBuffer = new TelemetryBuffer(); var channel = new InMemoryChannel(telemetryBuffer, new InMemoryTransmitter(telemetryBuffer)); var sentTelemetry = new StubTelemetry(); // No instrumentation key using (TestEventListener listener = new TestEventListener()) { listener.EnableEvents(CoreEventSource.Log, EventLevel.Verbose); channel.Send(sentTelemetry); IEnumerable <ITelemetry> telemetries = telemetryBuffer.Dequeue(); Assert.IsNull(telemetries); var expectedMessage = listener.Messages.First(); Assert.AreEqual(35, expectedMessage.EventId); } }
public void TelemetryBufferDoesNotGrowBeyondMaxBacklogSize() { TelemetryBuffer buffer = new TelemetryBuffer { Capacity = 2, BacklogSize = 1002 }; buffer.OnFull = () => { //intentionally blank to simulate situation where buffer //is not emptied. }; // Add more items to buffer than the max backlog size for (int i = 0; i < 1005; i++) { buffer.Enqueue(new EventTelemetry("Event" + i)); } // validate that items are not added after maxunsentbacklogsize is reached. // this also validate that items can still be added after Capacity is reached as it is only a soft limit. int bufferItemCount = buffer.Dequeue().Count(); Assert.AreEqual(1002, bufferItemCount); }