public void KV_default_span_tags_are_added_when_not_using_threshold_logging_tracer(RedactionLevel redactionLevel) { const string bucketName = "the-bucket"; const string documentKey = "the-key"; LogManager.RedactionLevel = redactionLevel; var expectedTags = new Dictionary <string, string> { { Tags.Component.Key, ClientIdentifier.GetClientDescription() }, { Tags.DbType.Key, CouchbaseTags.DbTypeCouchbase }, { Tags.SpanKind.Key, Tags.SpanKindClient }, { CouchbaseTags.OperationId, "0x0" }, { CouchbaseTags.Service, CouchbaseTags.ServiceKv }, { Tags.DbInstance.Key, bucketName } }; if (redactionLevel == RedactionLevel.None) { expectedTags.Add(CouchbaseTags.DocumentKey, documentKey); } var mockTracer = new MockTracer(); var mockOperation = new Mock <IOperation>(); mockOperation.Setup(x => x.Key).Returns(documentKey); using (mockTracer.StartParentScope(mockOperation.Object, bucketName)) { // start and end scope } Assert.AreEqual(1, mockTracer.FinishedSpans().Count); var span = mockTracer.FinishedSpans().First(); Assert.AreEqual(expectedTags, span.Tags); }
private static void ThrowArgumentOutOfRangeException(RedactionLevel redactionLevel) { throw new ArgumentOutOfRangeException(Enum.GetName(typeof(RedactionLevel), redactionLevel), "Unexpected redaction level: {redactionLevel}"); }
internal TypedRedactor(RedactionLevel redactionLevel) { RedactionLevel = redactionLevel; }