{-# LANGUAGE DeriveGeneric #-}
{-|
Module      : Instana.SDK.Internal.AgentConnection.ProcessInfo
Description : Holds meta data about an OS process.
-}
module Instana.SDK.Internal.AgentConnection.ProcessInfo
    ( ProcessInfo(..)
    ) where


import           Data.Text    (Text)
import           GHC.Generics


-- |Holds meta data about an OS process.
data ProcessInfo =
  ProcessInfo
    { ProcessInfo -> String
pidString         :: String
    , ProcessInfo -> String
programName       :: String
    , ProcessInfo -> String
executablePath    :: String
    , ProcessInfo -> [String]
arguments         :: [String]
    , ProcessInfo -> Maybe Text
cpuSetFileContent :: Maybe Text
    , ProcessInfo -> Maybe String
parentNsPid       :: Maybe String
    } deriving (ProcessInfo -> ProcessInfo -> Bool
(ProcessInfo -> ProcessInfo -> Bool)
-> (ProcessInfo -> ProcessInfo -> Bool) -> Eq ProcessInfo
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ProcessInfo -> ProcessInfo -> Bool
$c/= :: ProcessInfo -> ProcessInfo -> Bool
== :: ProcessInfo -> ProcessInfo -> Bool
$c== :: ProcessInfo -> ProcessInfo -> Bool
Eq, (forall x. ProcessInfo -> Rep ProcessInfo x)
-> (forall x. Rep ProcessInfo x -> ProcessInfo)
-> Generic ProcessInfo
forall x. Rep ProcessInfo x -> ProcessInfo
forall x. ProcessInfo -> Rep ProcessInfo x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ProcessInfo x -> ProcessInfo
$cfrom :: forall x. ProcessInfo -> Rep ProcessInfo x
Generic, Int -> ProcessInfo -> ShowS
[ProcessInfo] -> ShowS
ProcessInfo -> String
(Int -> ProcessInfo -> ShowS)
-> (ProcessInfo -> String)
-> ([ProcessInfo] -> ShowS)
-> Show ProcessInfo
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ProcessInfo] -> ShowS
$cshowList :: [ProcessInfo] -> ShowS
show :: ProcessInfo -> String
$cshow :: ProcessInfo -> String
showsPrec :: Int -> ProcessInfo -> ShowS
$cshowsPrec :: Int -> ProcessInfo -> ShowS
Show)