Skip to content

Commit

Permalink
Revert "initial commit"
Browse files Browse the repository at this point in the history
This reverts commit 1ab2baa.
  • Loading branch information
Yun-Ting committed Mar 9, 2022
1 parent 573bcdf commit f7c6482
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 97 deletions.
18 changes: 0 additions & 18 deletions src/OpenTelemetry.Api/Internal/StatusHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
// </copyright>

using System;
using System.Diagnostics;
using System.Runtime.CompilerServices;
using OpenTelemetry.Trace;

Expand Down Expand Up @@ -60,22 +59,5 @@ string _ when OkStatusCodeTagValue.Equals(statusCodeTagValue, StringComparison.O
_ => null,
};
}

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static string GetTagValueForActivityStatusCode(ActivityStatusCode activityStatusCode)
{
return activityStatusCode switch
{
/*
* Note: Order here does matter for perf. Unset is
* first because assumption is most spans will be
* Unset, then Error, then Ok.
*/
ActivityStatusCode.Unset => UnsetStatusCodeTagValue,
ActivityStatusCode.Error => ErrorStatusCodeTagValue,
ActivityStatusCode.Ok => OkStatusCodeTagValue,
_ => null,
};
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -45,18 +45,7 @@ internal static ZipkinSpan ToZipkinSpan(this Activity activity, ZipkinEndpoint l
Tags = PooledList<KeyValuePair<string, object>>.Create(),
};

if (activity.Status == ActivityStatusCode.Ok || activity.Status == ActivityStatusCode.Error)
{
PooledList<KeyValuePair<string, object>>.Add(
ref tagState.Tags,
new KeyValuePair<string, object>(
SpanAttributeConstants.StatusCodeKey,
StatusHelper.GetTagValueForActivityStatusCode(activity.Status)));
}
else
{
activity.EnumerateTags(ref tagState);
}
activity.EnumerateTags(ref tagState);

var activitySource = activity.Source;
if (!string.IsNullOrEmpty(activitySource.Name))
Expand All @@ -83,7 +72,7 @@ internal static ZipkinSpan ToZipkinSpan(this Activity activity, ZipkinEndpoint l
}
}

if (activity.Status == ActivityStatusCode.Error || tagState.StatusCode == StatusCode.Error)
if (tagState.StatusCode == StatusCode.Error)
{
// Error flag rule from https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/zipkin.md#status
PooledList<KeyValuePair<string, object>>.Add(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
// limitations under the License.
// </copyright>

using System.Diagnostics;
using System.Linq;
using OpenTelemetry.Exporter.Zipkin.Tests;
using OpenTelemetry.Internal;
Expand Down Expand Up @@ -126,70 +125,5 @@ public void ToZipkinSpan_Status_ErrorFlagTest(StatusCode expectedStatusCode, str
Assert.DoesNotContain(zipkinSpan.Tags, t => t.Key == "error");
}
}

[Theory]
[InlineData(ActivityStatusCode.Unset)]
[InlineData(ActivityStatusCode.Ok)]
[InlineData(ActivityStatusCode.Error)]
public void ToZipkinSpan_Activity_Status_And_StatusDescription_is_Set(ActivityStatusCode expectedStatusCode)
{
// Arrange
var activity = ZipkinExporterTests.CreateTestActivity();

activity.SetStatus(expectedStatusCode);

// Act
var zipkinSpan = activity.ToZipkinSpan(DefaultZipkinEndpoint);

// Assert
if (expectedStatusCode == ActivityStatusCode.Unset)
{
Assert.DoesNotContain(zipkinSpan.Tags, t => t.Key == SpanAttributeConstants.StatusCodeKey);
}
else
{
Assert.Equal(
StatusHelper.GetTagValueForActivityStatusCode(expectedStatusCode),
zipkinSpan.Tags.FirstOrDefault(t => t.Key == SpanAttributeConstants.StatusCodeKey).Value);
}

if (expectedStatusCode == ActivityStatusCode.Error)
{
Assert.Contains(zipkinSpan.Tags, t => t.Key == "error" && (string)t.Value == string.Empty);
}
else
{
Assert.DoesNotContain(zipkinSpan.Tags, t => t.Key == "error");
}
}

[Theory]
[InlineData(ActivityStatusCode.Ok, "ERROR")]
[InlineData(ActivityStatusCode.Error, "OK")]
public void ActivityStatus_Takes_precedence_Over_Status_Tags(ActivityStatusCode activityStatus, string statusCodeTagValue)
{
// Arrange
var activity = ZipkinExporterTests.CreateTestActivity();

activity.SetStatus(activityStatus);
activity.SetTag(SpanAttributeConstants.StatusCodeKey, statusCodeTagValue);

// Act
var zipkinSpan = activity.ToZipkinSpan(DefaultZipkinEndpoint);

// Assert
Assert.Equal(
StatusHelper.GetTagValueForActivityStatusCode(activityStatus),
zipkinSpan.Tags.FirstOrDefault(t => t.Key == SpanAttributeConstants.StatusCodeKey).Value);

if (activityStatus == ActivityStatusCode.Error)
{
Assert.Contains(zipkinSpan.Tags, t => t.Key == "error" && (string)t.Value == string.Empty);
}
else
{
Assert.DoesNotContain(zipkinSpan.Tags, t => t.Key == "error");
}
}
}
}

0 comments on commit f7c6482

Please sign in to comment.