public async Task Can_format_payload_with_multiple_fields_correctly() { // Arrange await using var ms = new MemoryStream(); var fields = new Dictionary <string, object> { { "field1key", "field1value" }, { "field2key", 2 }, { "field3key", false } }; var timestamp = new DateTime(2017, 1, 1, 1, 1, 1, DateTimeKind.Utc); var statsDWriter = new MetricSnapshotStatsDStringWriter( ms, new StatsDPointSampler(_options), new MetricsStatsDOptions { MetricNameFormatter = new DefaultDogStatsDMetricStringSerializer() }); // Act statsDWriter.Write(null, "measurement", fields.Keys, fields.Values, MetricTags.Empty, timestamp); await statsDWriter.DisposeAsync(); var result = Encoding.UTF8.GetString(ms.ToArray()); // Assert result.Should().Be( "measurement.field1key:0|g|#timestamp:1483232461\n" + "measurement.field2key:2|g|#timestamp:1483232461\n" + "measurement.field3key:0|g|#timestamp:1483232461"); }
public async Task Can_format_payload_with_tags_correctly() { // Arrange await using var ms = new MemoryStream(); var fields = new Dictionary <string, object> { { "key", "value" } }; var tags = new MetricTags("tagkey", "tagvalue"); var timestamp = new DateTime(2017, 1, 1, 1, 1, 1, DateTimeKind.Utc); var statsDWriter = new MetricSnapshotStatsDStringWriter( ms, new StatsDPointSampler(_options), new MetricsStatsDOptions { MetricNameFormatter = new DefaultDogStatsDMetricStringSerializer() }); // Act statsDWriter.Write(null, "measurement", fields.Keys, fields.Values, tags, timestamp); await statsDWriter.DisposeAsync(); var result = Encoding.UTF8.GetString(ms.ToArray()); // Assert result.Should().Be( "measurement.key:0|g|#tagkey:tagvalue,timestamp:1483232461", "Hosted Metrics request at the moment allow tags array but its not yet used."); }
public async Task Should_add_context_when_provided() { // Arrange await using var ms = new MemoryStream(); var fields = new Dictionary <string, object> { { "key", "value" } }; var tags = new MetricTags("tagkey", "tagvalue"); var timestamp = new DateTime(2017, 1, 1, 1, 1, 1, DateTimeKind.Utc); //var point = new DatadogPoint("context", "measurement", fields, tags, new DefaultDatadogMetricJsonWriter(), FlushInterval, timestamp); var statsDWriter = new MetricSnapshotStatsDStringWriter( ms, new StatsDPointSampler(_options), new MetricsStatsDOptions { MetricNameFormatter = new DefaultDogStatsDMetricStringSerializer() }); // Act statsDWriter.Write("context", "measurement", fields.Keys, fields.Values, tags, timestamp); await statsDWriter.DisposeAsync(); var result = Encoding.UTF8.GetString(ms.ToArray()); // Assert result.Should().Be( "context.measurement.key:0|g|#tagkey:tagvalue", "Hosted Metrics request at the moment allow tags array but its not yet used."); }