hs-opentelemetry-sdk-0.0.2.2: 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 OpenTelemetry.Resource.OperatingSystem
import qualified Data.Text as T
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
}