instana-haskell-trace-sdk-0.1.0.0: test/shared/Instana/SDK/AgentStub/EntityDataRequest.hs
{-# LANGUAGE DeriveGeneric #-}
module Instana.SDK.AgentStub.EntityDataRequest where
import Data.Aeson
import qualified Data.Aeson as Aeson
import Data.Text (Text)
import GHC.Generics
-- Example entity data JSON:
-- {
-- "executablePath": "/opt/very/important/service/bin/exec",
-- "arguments": ""
-- "programName": "instana-haskell-trace-sdk-integration-tests"
-- "pid": "30114"
-- "sensorVersion": "0.1.0.0"
-- "startTime": 1545569786526
-- "rts": {
-- "gc": {
-- "gc_cpu_ms": 35
-- "mutator_wall_ms": 8743
-- "mutator_cpu_ms": 155
-- "gc_wall_ms": 8
-- "wall_ms": 8751
-- "bytes_copied": 2225552
-- "max_bytes_used": 2279960
-- "max_bytes_slop": 110376
-- "num_bytes_usage_samples": 3
-- "peak_megabytes_allocated": 12
-- "cpu_ms": 190
-- "current_bytes_used": 3151432
-- "bytes_allocated": 122542896
-- "par_max_bytes_copied": 1311424
-- "current_bytes_slop": 96696
-- "cumulative_bytes_used": 3993064
-- "num_gcs": 31
-- "par_tot_bytes_copied": 2225552
-- "par_avg_bytes_copied": 2225552
-- }
-- }
-- }
data EntityDataRequest =
EntityDataRequest
{ pid :: Maybe Text
, executablePath :: Maybe Text
-- arguments are concatenated, separate by one space character
, arguments :: Maybe Text
, programName :: Maybe Text
, startTime :: Maybe Int
, sensorVersion :: Maybe Text
, rts :: Maybe RtsData
} deriving (Eq, Show, Generic)
instance FromJSON EntityDataRequest
instance ToJSON EntityDataRequest
data RtsData =
RtsData
{ gc :: Aeson.Value
} deriving (Eq, Show, Generic)
instance FromJSON RtsData
instance ToJSON RtsData