hs-opentelemetry-sdk-0.0.3.4: src/OpenTelemetry/Resource/OperatingSystem/Detector.hs
{-# LANGUAGE OverloadedStrings #-}
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
{- |
Module : OpenTelemetry.Resource.OperatingSystem.Detector
Copyright : (c) Ian Duncan, 2021
License : BSD-3
Maintainer : Ian Duncan
Stability : experimental
Portability : non-portable (GHC extensions)
Detect information about the current system's OS.
-}
module OpenTelemetry.Resource.OperatingSystem.Detector (
detectOperatingSystem,
) where
import qualified Data.Text as T
import OpenTelemetry.Resource.OperatingSystem
import System.Info (os)
{- | Retrieve any infomration able to be detected about the current operation system.
Currently only supports 'osType' detection, but PRs are welcome to support additional
details.
@since 0.0.1.0
-}
detectOperatingSystem :: IO OperatingSystem
detectOperatingSystem =
pure $
OperatingSystem
{ osType =
if os == "mingw32"
then "windows"
else T.pack os
, osDescription = Nothing
, osName = Nothing
, osVersion = Nothing
}