// Copyright Epic Games, Inc. All Rights Reserved.
using OpenTelemetry.Trace;
namespace HordeServer.Utilities
{
///
/// Extensions to handle Horde specific data types in the OpenTelemetry library
///
public static class OpenTelemetryExtensions
{
/// Set a key:value tag on the span
/// This span instance, for chaining
public static TelemetrySpan SetAttribute(this TelemetrySpan span, string key, int? value)
{
if (value != null)
{
span.SetAttribute(key, value.Value);
}
return span;
}
/// Set a key:value tag on the span
/// This span instance, for chaining
public static TelemetrySpan SetAttribute(this TelemetrySpan span, string key, DateTimeOffset? value)
{
if (value != null)
{
span.SetAttribute(key, value.ToString());
}
return span;
}
}
}