{-# LANGUAGE CPP #-}
module OpenTelemetry.Resource.Telemetry where
import Data.Text (Text)
import OpenTelemetry.Attributes.Key (unkey)
import OpenTelemetry.Resource
import qualified OpenTelemetry.SemanticConventions as SC
data Telemetry = Telemetry
{ Telemetry -> Text
telemetrySdkName :: Text
, Telemetry -> Maybe Text
telemetrySdkLanguage :: Maybe Text
, Telemetry -> Maybe Text
telemetrySdkVersion :: Maybe Text
, Telemetry -> Maybe Text
telemetryDistroName :: Maybe Text
, Telemetry -> Maybe Text
telemetryDistroVersion :: Maybe Text
}
instance ToResource Telemetry where
toResource :: Telemetry -> Resource
toResource Telemetry {Maybe Text
Text
telemetrySdkName :: Telemetry -> Text
telemetrySdkLanguage :: Telemetry -> Maybe Text
telemetrySdkVersion :: Telemetry -> Maybe Text
telemetryDistroName :: Telemetry -> Maybe Text
telemetryDistroVersion :: Telemetry -> Maybe Text
telemetrySdkName :: Text
telemetrySdkLanguage :: Maybe Text
telemetrySdkVersion :: Maybe Text
telemetryDistroName :: Maybe Text
telemetryDistroVersion :: Maybe Text
..} =
Maybe Text -> [Maybe (Text, Attribute)] -> Resource
mkResourceWithSchema
(Text -> Maybe Text
forall a. a -> Maybe a
Just Text
semConvSchemaUrl)
[ AttributeKey Text -> Text
forall a. AttributeKey a -> Text
unkey AttributeKey Text
SC.telemetry_sdk_name Text -> Text -> Maybe (Text, Attribute)
forall a. ToAttribute a => Text -> a -> Maybe (Text, Attribute)
.= Text
telemetrySdkName
, AttributeKey Text -> Text
forall a. AttributeKey a -> Text
unkey AttributeKey Text
SC.telemetry_sdk_language Text -> Maybe Text -> Maybe (Text, Attribute)
forall a.
ToAttribute a =>
Text -> Maybe a -> Maybe (Text, Attribute)
.=? Maybe Text
telemetrySdkLanguage
, AttributeKey Text -> Text
forall a. AttributeKey a -> Text
unkey AttributeKey Text
SC.telemetry_sdk_version Text -> Maybe Text -> Maybe (Text, Attribute)
forall a.
ToAttribute a =>
Text -> Maybe a -> Maybe (Text, Attribute)
.=? Maybe Text
telemetrySdkVersion
, AttributeKey Text -> Text
forall a. AttributeKey a -> Text
unkey AttributeKey Text
SC.telemetry_distro_name Text -> Maybe Text -> Maybe (Text, Attribute)
forall a.
ToAttribute a =>
Text -> Maybe a -> Maybe (Text, Attribute)
.=? Maybe Text
telemetryDistroName
, AttributeKey Text -> Text
forall a. AttributeKey a -> Text
unkey AttributeKey Text
SC.telemetry_distro_version Text -> Maybe Text -> Maybe (Text, Attribute)
forall a.
ToAttribute a =>
Text -> Maybe a -> Maybe (Text, Attribute)
.=? Maybe Text
telemetryDistroVersion
]