{-# LANGUAGE OverloadedStrings, RecordWildCards, TupleSections #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeFamilies #-}
module CDP.Domains.Tracing (module CDP.Domains.Tracing) where
import Control.Applicative ((<$>))
import Control.Monad
import Control.Monad.Loops
import Control.Monad.Trans (liftIO)
import qualified Data.Map as M
import Data.Maybe
import Data.Functor.Identity
import Data.String
import qualified Data.Text as T
import qualified Data.List as List
import qualified Data.Text.IO as TI
import qualified Data.Vector as V
import Data.Aeson.Types (Parser(..))
import Data.Aeson (FromJSON (..), ToJSON (..), (.:), (.:?), (.=), (.!=), (.:!))
import qualified Data.Aeson as A
import qualified Network.HTTP.Simple as Http
import qualified Network.URI as Uri
import qualified Network.WebSockets as WS
import Control.Concurrent
import qualified Data.ByteString.Lazy as BS
import qualified Data.Map as Map
import Data.Proxy
import System.Random
import GHC.Generics
import Data.Char
import Data.Default
import CDP.Internal.Utils
import CDP.Domains.IO as IO
type TracingMemoryDumpConfig = [(T.Text, T.Text)]
data TracingTraceConfigRecordMode = TracingTraceConfigRecordModeRecordUntilFull | TracingTraceConfigRecordModeRecordContinuously | TracingTraceConfigRecordModeRecordAsMuchAsPossible | TracingTraceConfigRecordModeEchoToConsole
deriving (Eq TracingTraceConfigRecordMode
Eq TracingTraceConfigRecordMode
-> (TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Ordering)
-> (TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool)
-> (TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool)
-> (TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool)
-> (TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool)
-> (TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> TracingTraceConfigRecordMode)
-> (TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> TracingTraceConfigRecordMode)
-> Ord TracingTraceConfigRecordMode
TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool
TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Ordering
TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> TracingTraceConfigRecordMode
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> TracingTraceConfigRecordMode
$cmin :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> TracingTraceConfigRecordMode
max :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> TracingTraceConfigRecordMode
$cmax :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> TracingTraceConfigRecordMode
>= :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool
$c>= :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool
> :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool
$c> :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool
<= :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool
$c<= :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool
< :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool
$c< :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool
compare :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Ordering
$ccompare :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Ordering
$cp1Ord :: Eq TracingTraceConfigRecordMode
Ord, TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool
(TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool)
-> (TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool)
-> Eq TracingTraceConfigRecordMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool
$c/= :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool
== :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool
$c== :: TracingTraceConfigRecordMode
-> TracingTraceConfigRecordMode -> Bool
Eq, Int -> TracingTraceConfigRecordMode -> ShowS
[TracingTraceConfigRecordMode] -> ShowS
TracingTraceConfigRecordMode -> String
(Int -> TracingTraceConfigRecordMode -> ShowS)
-> (TracingTraceConfigRecordMode -> String)
-> ([TracingTraceConfigRecordMode] -> ShowS)
-> Show TracingTraceConfigRecordMode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TracingTraceConfigRecordMode] -> ShowS
$cshowList :: [TracingTraceConfigRecordMode] -> ShowS
show :: TracingTraceConfigRecordMode -> String
$cshow :: TracingTraceConfigRecordMode -> String
showsPrec :: Int -> TracingTraceConfigRecordMode -> ShowS
$cshowsPrec :: Int -> TracingTraceConfigRecordMode -> ShowS
Show, ReadPrec [TracingTraceConfigRecordMode]
ReadPrec TracingTraceConfigRecordMode
Int -> ReadS TracingTraceConfigRecordMode
ReadS [TracingTraceConfigRecordMode]
(Int -> ReadS TracingTraceConfigRecordMode)
-> ReadS [TracingTraceConfigRecordMode]
-> ReadPrec TracingTraceConfigRecordMode
-> ReadPrec [TracingTraceConfigRecordMode]
-> Read TracingTraceConfigRecordMode
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TracingTraceConfigRecordMode]
$creadListPrec :: ReadPrec [TracingTraceConfigRecordMode]
readPrec :: ReadPrec TracingTraceConfigRecordMode
$creadPrec :: ReadPrec TracingTraceConfigRecordMode
readList :: ReadS [TracingTraceConfigRecordMode]
$creadList :: ReadS [TracingTraceConfigRecordMode]
readsPrec :: Int -> ReadS TracingTraceConfigRecordMode
$creadsPrec :: Int -> ReadS TracingTraceConfigRecordMode
Read)
instance FromJSON TracingTraceConfigRecordMode where
parseJSON :: Value -> Parser TracingTraceConfigRecordMode
parseJSON = String
-> (Text -> Parser TracingTraceConfigRecordMode)
-> Value
-> Parser TracingTraceConfigRecordMode
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"TracingTraceConfigRecordMode" ((Text -> Parser TracingTraceConfigRecordMode)
-> Value -> Parser TracingTraceConfigRecordMode)
-> (Text -> Parser TracingTraceConfigRecordMode)
-> Value
-> Parser TracingTraceConfigRecordMode
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
Text
"recordUntilFull" -> TracingTraceConfigRecordMode -> Parser TracingTraceConfigRecordMode
forall (f :: * -> *) a. Applicative f => a -> f a
pure TracingTraceConfigRecordMode
TracingTraceConfigRecordModeRecordUntilFull
Text
"recordContinuously" -> TracingTraceConfigRecordMode -> Parser TracingTraceConfigRecordMode
forall (f :: * -> *) a. Applicative f => a -> f a
pure TracingTraceConfigRecordMode
TracingTraceConfigRecordModeRecordContinuously
Text
"recordAsMuchAsPossible" -> TracingTraceConfigRecordMode -> Parser TracingTraceConfigRecordMode
forall (f :: * -> *) a. Applicative f => a -> f a
pure TracingTraceConfigRecordMode
TracingTraceConfigRecordModeRecordAsMuchAsPossible
Text
"echoToConsole" -> TracingTraceConfigRecordMode -> Parser TracingTraceConfigRecordMode
forall (f :: * -> *) a. Applicative f => a -> f a
pure TracingTraceConfigRecordMode
TracingTraceConfigRecordModeEchoToConsole
Text
"_" -> String -> Parser TracingTraceConfigRecordMode
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse TracingTraceConfigRecordMode"
instance ToJSON TracingTraceConfigRecordMode where
toJSON :: TracingTraceConfigRecordMode -> Value
toJSON TracingTraceConfigRecordMode
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case TracingTraceConfigRecordMode
v of
TracingTraceConfigRecordMode
TracingTraceConfigRecordModeRecordUntilFull -> Text
"recordUntilFull"
TracingTraceConfigRecordMode
TracingTraceConfigRecordModeRecordContinuously -> Text
"recordContinuously"
TracingTraceConfigRecordMode
TracingTraceConfigRecordModeRecordAsMuchAsPossible -> Text
"recordAsMuchAsPossible"
TracingTraceConfigRecordMode
TracingTraceConfigRecordModeEchoToConsole -> Text
"echoToConsole"
data TracingTraceConfig = TracingTraceConfig
{
TracingTraceConfig -> Maybe TracingTraceConfigRecordMode
tracingTraceConfigRecordMode :: Maybe TracingTraceConfigRecordMode,
TracingTraceConfig -> Maybe Double
tracingTraceConfigTraceBufferSizeInKb :: Maybe Double,
TracingTraceConfig -> Maybe Bool
tracingTraceConfigEnableSampling :: Maybe Bool,
TracingTraceConfig -> Maybe Bool
tracingTraceConfigEnableSystrace :: Maybe Bool,
TracingTraceConfig -> Maybe Bool
tracingTraceConfigEnableArgumentFilter :: Maybe Bool,
TracingTraceConfig -> Maybe [Text]
tracingTraceConfigIncludedCategories :: Maybe [T.Text],
TracingTraceConfig -> Maybe [Text]
tracingTraceConfigExcludedCategories :: Maybe [T.Text],
TracingTraceConfig -> Maybe [Text]
tracingTraceConfigSyntheticDelays :: Maybe [T.Text],
TracingTraceConfig -> Maybe TracingMemoryDumpConfig
tracingTraceConfigMemoryDumpConfig :: Maybe TracingMemoryDumpConfig
}
deriving (TracingTraceConfig -> TracingTraceConfig -> Bool
(TracingTraceConfig -> TracingTraceConfig -> Bool)
-> (TracingTraceConfig -> TracingTraceConfig -> Bool)
-> Eq TracingTraceConfig
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TracingTraceConfig -> TracingTraceConfig -> Bool
$c/= :: TracingTraceConfig -> TracingTraceConfig -> Bool
== :: TracingTraceConfig -> TracingTraceConfig -> Bool
$c== :: TracingTraceConfig -> TracingTraceConfig -> Bool
Eq, Int -> TracingTraceConfig -> ShowS
[TracingTraceConfig] -> ShowS
TracingTraceConfig -> String
(Int -> TracingTraceConfig -> ShowS)
-> (TracingTraceConfig -> String)
-> ([TracingTraceConfig] -> ShowS)
-> Show TracingTraceConfig
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TracingTraceConfig] -> ShowS
$cshowList :: [TracingTraceConfig] -> ShowS
show :: TracingTraceConfig -> String
$cshow :: TracingTraceConfig -> String
showsPrec :: Int -> TracingTraceConfig -> ShowS
$cshowsPrec :: Int -> TracingTraceConfig -> ShowS
Show)
instance FromJSON TracingTraceConfig where
parseJSON :: Value -> Parser TracingTraceConfig
parseJSON = String
-> (Object -> Parser TracingTraceConfig)
-> Value
-> Parser TracingTraceConfig
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"TracingTraceConfig" ((Object -> Parser TracingTraceConfig)
-> Value -> Parser TracingTraceConfig)
-> (Object -> Parser TracingTraceConfig)
-> Value
-> Parser TracingTraceConfig
forall a b. (a -> b) -> a -> b
$ \Object
o -> Maybe TracingTraceConfigRecordMode
-> Maybe Double
-> Maybe Bool
-> Maybe Bool
-> Maybe Bool
-> Maybe [Text]
-> Maybe [Text]
-> Maybe [Text]
-> Maybe TracingMemoryDumpConfig
-> TracingTraceConfig
TracingTraceConfig
(Maybe TracingTraceConfigRecordMode
-> Maybe Double
-> Maybe Bool
-> Maybe Bool
-> Maybe Bool
-> Maybe [Text]
-> Maybe [Text]
-> Maybe [Text]
-> Maybe TracingMemoryDumpConfig
-> TracingTraceConfig)
-> Parser (Maybe TracingTraceConfigRecordMode)
-> Parser
(Maybe Double
-> Maybe Bool
-> Maybe Bool
-> Maybe Bool
-> Maybe [Text]
-> Maybe [Text]
-> Maybe [Text]
-> Maybe TracingMemoryDumpConfig
-> TracingTraceConfig)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser (Maybe TracingTraceConfigRecordMode)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"recordMode"
Parser
(Maybe Double
-> Maybe Bool
-> Maybe Bool
-> Maybe Bool
-> Maybe [Text]
-> Maybe [Text]
-> Maybe [Text]
-> Maybe TracingMemoryDumpConfig
-> TracingTraceConfig)
-> Parser (Maybe Double)
-> Parser
(Maybe Bool
-> Maybe Bool
-> Maybe Bool
-> Maybe [Text]
-> Maybe [Text]
-> Maybe [Text]
-> Maybe TracingMemoryDumpConfig
-> TracingTraceConfig)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe Double)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"traceBufferSizeInKb"
Parser
(Maybe Bool
-> Maybe Bool
-> Maybe Bool
-> Maybe [Text]
-> Maybe [Text]
-> Maybe [Text]
-> Maybe TracingMemoryDumpConfig
-> TracingTraceConfig)
-> Parser (Maybe Bool)
-> Parser
(Maybe Bool
-> Maybe Bool
-> Maybe [Text]
-> Maybe [Text]
-> Maybe [Text]
-> Maybe TracingMemoryDumpConfig
-> TracingTraceConfig)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"enableSampling"
Parser
(Maybe Bool
-> Maybe Bool
-> Maybe [Text]
-> Maybe [Text]
-> Maybe [Text]
-> Maybe TracingMemoryDumpConfig
-> TracingTraceConfig)
-> Parser (Maybe Bool)
-> Parser
(Maybe Bool
-> Maybe [Text]
-> Maybe [Text]
-> Maybe [Text]
-> Maybe TracingMemoryDumpConfig
-> TracingTraceConfig)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"enableSystrace"
Parser
(Maybe Bool
-> Maybe [Text]
-> Maybe [Text]
-> Maybe [Text]
-> Maybe TracingMemoryDumpConfig
-> TracingTraceConfig)
-> Parser (Maybe Bool)
-> Parser
(Maybe [Text]
-> Maybe [Text]
-> Maybe [Text]
-> Maybe TracingMemoryDumpConfig
-> TracingTraceConfig)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"enableArgumentFilter"
Parser
(Maybe [Text]
-> Maybe [Text]
-> Maybe [Text]
-> Maybe TracingMemoryDumpConfig
-> TracingTraceConfig)
-> Parser (Maybe [Text])
-> Parser
(Maybe [Text]
-> Maybe [Text]
-> Maybe TracingMemoryDumpConfig
-> TracingTraceConfig)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe [Text])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"includedCategories"
Parser
(Maybe [Text]
-> Maybe [Text]
-> Maybe TracingMemoryDumpConfig
-> TracingTraceConfig)
-> Parser (Maybe [Text])
-> Parser
(Maybe [Text]
-> Maybe TracingMemoryDumpConfig -> TracingTraceConfig)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe [Text])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"excludedCategories"
Parser
(Maybe [Text]
-> Maybe TracingMemoryDumpConfig -> TracingTraceConfig)
-> Parser (Maybe [Text])
-> Parser (Maybe TracingMemoryDumpConfig -> TracingTraceConfig)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe [Text])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"syntheticDelays"
Parser (Maybe TracingMemoryDumpConfig -> TracingTraceConfig)
-> Parser (Maybe TracingMemoryDumpConfig)
-> Parser TracingTraceConfig
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe TracingMemoryDumpConfig)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"memoryDumpConfig"
instance ToJSON TracingTraceConfig where
toJSON :: TracingTraceConfig -> Value
toJSON TracingTraceConfig
p = [Pair] -> Value
A.object ([Pair] -> Value) -> [Pair] -> Value
forall a b. (a -> b) -> a -> b
$ [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
catMaybes [
(Text
"recordMode" Text -> TracingTraceConfigRecordMode -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (TracingTraceConfigRecordMode -> Pair)
-> Maybe TracingTraceConfigRecordMode -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (TracingTraceConfig -> Maybe TracingTraceConfigRecordMode
tracingTraceConfigRecordMode TracingTraceConfig
p),
(Text
"traceBufferSizeInKb" Text -> Double -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Double -> Pair) -> Maybe Double -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (TracingTraceConfig -> Maybe Double
tracingTraceConfigTraceBufferSizeInKb TracingTraceConfig
p),
(Text
"enableSampling" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (TracingTraceConfig -> Maybe Bool
tracingTraceConfigEnableSampling TracingTraceConfig
p),
(Text
"enableSystrace" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (TracingTraceConfig -> Maybe Bool
tracingTraceConfigEnableSystrace TracingTraceConfig
p),
(Text
"enableArgumentFilter" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (TracingTraceConfig -> Maybe Bool
tracingTraceConfigEnableArgumentFilter TracingTraceConfig
p),
(Text
"includedCategories" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (TracingTraceConfig -> Maybe [Text]
tracingTraceConfigIncludedCategories TracingTraceConfig
p),
(Text
"excludedCategories" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (TracingTraceConfig -> Maybe [Text]
tracingTraceConfigExcludedCategories TracingTraceConfig
p),
(Text
"syntheticDelays" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (TracingTraceConfig -> Maybe [Text]
tracingTraceConfigSyntheticDelays TracingTraceConfig
p),
(Text
"memoryDumpConfig" Text -> TracingMemoryDumpConfig -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (TracingMemoryDumpConfig -> Pair)
-> Maybe TracingMemoryDumpConfig -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (TracingTraceConfig -> Maybe TracingMemoryDumpConfig
tracingTraceConfigMemoryDumpConfig TracingTraceConfig
p)
]
data TracingStreamFormat = TracingStreamFormatJson | TracingStreamFormatProto
deriving (Eq TracingStreamFormat
Eq TracingStreamFormat
-> (TracingStreamFormat -> TracingStreamFormat -> Ordering)
-> (TracingStreamFormat -> TracingStreamFormat -> Bool)
-> (TracingStreamFormat -> TracingStreamFormat -> Bool)
-> (TracingStreamFormat -> TracingStreamFormat -> Bool)
-> (TracingStreamFormat -> TracingStreamFormat -> Bool)
-> (TracingStreamFormat
-> TracingStreamFormat -> TracingStreamFormat)
-> (TracingStreamFormat
-> TracingStreamFormat -> TracingStreamFormat)
-> Ord TracingStreamFormat
TracingStreamFormat -> TracingStreamFormat -> Bool
TracingStreamFormat -> TracingStreamFormat -> Ordering
TracingStreamFormat -> TracingStreamFormat -> TracingStreamFormat
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TracingStreamFormat -> TracingStreamFormat -> TracingStreamFormat
$cmin :: TracingStreamFormat -> TracingStreamFormat -> TracingStreamFormat
max :: TracingStreamFormat -> TracingStreamFormat -> TracingStreamFormat
$cmax :: TracingStreamFormat -> TracingStreamFormat -> TracingStreamFormat
>= :: TracingStreamFormat -> TracingStreamFormat -> Bool
$c>= :: TracingStreamFormat -> TracingStreamFormat -> Bool
> :: TracingStreamFormat -> TracingStreamFormat -> Bool
$c> :: TracingStreamFormat -> TracingStreamFormat -> Bool
<= :: TracingStreamFormat -> TracingStreamFormat -> Bool
$c<= :: TracingStreamFormat -> TracingStreamFormat -> Bool
< :: TracingStreamFormat -> TracingStreamFormat -> Bool
$c< :: TracingStreamFormat -> TracingStreamFormat -> Bool
compare :: TracingStreamFormat -> TracingStreamFormat -> Ordering
$ccompare :: TracingStreamFormat -> TracingStreamFormat -> Ordering
$cp1Ord :: Eq TracingStreamFormat
Ord, TracingStreamFormat -> TracingStreamFormat -> Bool
(TracingStreamFormat -> TracingStreamFormat -> Bool)
-> (TracingStreamFormat -> TracingStreamFormat -> Bool)
-> Eq TracingStreamFormat
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TracingStreamFormat -> TracingStreamFormat -> Bool
$c/= :: TracingStreamFormat -> TracingStreamFormat -> Bool
== :: TracingStreamFormat -> TracingStreamFormat -> Bool
$c== :: TracingStreamFormat -> TracingStreamFormat -> Bool
Eq, Int -> TracingStreamFormat -> ShowS
[TracingStreamFormat] -> ShowS
TracingStreamFormat -> String
(Int -> TracingStreamFormat -> ShowS)
-> (TracingStreamFormat -> String)
-> ([TracingStreamFormat] -> ShowS)
-> Show TracingStreamFormat
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TracingStreamFormat] -> ShowS
$cshowList :: [TracingStreamFormat] -> ShowS
show :: TracingStreamFormat -> String
$cshow :: TracingStreamFormat -> String
showsPrec :: Int -> TracingStreamFormat -> ShowS
$cshowsPrec :: Int -> TracingStreamFormat -> ShowS
Show, ReadPrec [TracingStreamFormat]
ReadPrec TracingStreamFormat
Int -> ReadS TracingStreamFormat
ReadS [TracingStreamFormat]
(Int -> ReadS TracingStreamFormat)
-> ReadS [TracingStreamFormat]
-> ReadPrec TracingStreamFormat
-> ReadPrec [TracingStreamFormat]
-> Read TracingStreamFormat
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TracingStreamFormat]
$creadListPrec :: ReadPrec [TracingStreamFormat]
readPrec :: ReadPrec TracingStreamFormat
$creadPrec :: ReadPrec TracingStreamFormat
readList :: ReadS [TracingStreamFormat]
$creadList :: ReadS [TracingStreamFormat]
readsPrec :: Int -> ReadS TracingStreamFormat
$creadsPrec :: Int -> ReadS TracingStreamFormat
Read)
instance FromJSON TracingStreamFormat where
parseJSON :: Value -> Parser TracingStreamFormat
parseJSON = String
-> (Text -> Parser TracingStreamFormat)
-> Value
-> Parser TracingStreamFormat
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"TracingStreamFormat" ((Text -> Parser TracingStreamFormat)
-> Value -> Parser TracingStreamFormat)
-> (Text -> Parser TracingStreamFormat)
-> Value
-> Parser TracingStreamFormat
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
Text
"json" -> TracingStreamFormat -> Parser TracingStreamFormat
forall (f :: * -> *) a. Applicative f => a -> f a
pure TracingStreamFormat
TracingStreamFormatJson
Text
"proto" -> TracingStreamFormat -> Parser TracingStreamFormat
forall (f :: * -> *) a. Applicative f => a -> f a
pure TracingStreamFormat
TracingStreamFormatProto
Text
"_" -> String -> Parser TracingStreamFormat
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse TracingStreamFormat"
instance ToJSON TracingStreamFormat where
toJSON :: TracingStreamFormat -> Value
toJSON TracingStreamFormat
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case TracingStreamFormat
v of
TracingStreamFormat
TracingStreamFormatJson -> Text
"json"
TracingStreamFormat
TracingStreamFormatProto -> Text
"proto"
data TracingStreamCompression = TracingStreamCompressionNone | TracingStreamCompressionGzip
deriving (Eq TracingStreamCompression
Eq TracingStreamCompression
-> (TracingStreamCompression
-> TracingStreamCompression -> Ordering)
-> (TracingStreamCompression -> TracingStreamCompression -> Bool)
-> (TracingStreamCompression -> TracingStreamCompression -> Bool)
-> (TracingStreamCompression -> TracingStreamCompression -> Bool)
-> (TracingStreamCompression -> TracingStreamCompression -> Bool)
-> (TracingStreamCompression
-> TracingStreamCompression -> TracingStreamCompression)
-> (TracingStreamCompression
-> TracingStreamCompression -> TracingStreamCompression)
-> Ord TracingStreamCompression
TracingStreamCompression -> TracingStreamCompression -> Bool
TracingStreamCompression -> TracingStreamCompression -> Ordering
TracingStreamCompression
-> TracingStreamCompression -> TracingStreamCompression
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TracingStreamCompression
-> TracingStreamCompression -> TracingStreamCompression
$cmin :: TracingStreamCompression
-> TracingStreamCompression -> TracingStreamCompression
max :: TracingStreamCompression
-> TracingStreamCompression -> TracingStreamCompression
$cmax :: TracingStreamCompression
-> TracingStreamCompression -> TracingStreamCompression
>= :: TracingStreamCompression -> TracingStreamCompression -> Bool
$c>= :: TracingStreamCompression -> TracingStreamCompression -> Bool
> :: TracingStreamCompression -> TracingStreamCompression -> Bool
$c> :: TracingStreamCompression -> TracingStreamCompression -> Bool
<= :: TracingStreamCompression -> TracingStreamCompression -> Bool
$c<= :: TracingStreamCompression -> TracingStreamCompression -> Bool
< :: TracingStreamCompression -> TracingStreamCompression -> Bool
$c< :: TracingStreamCompression -> TracingStreamCompression -> Bool
compare :: TracingStreamCompression -> TracingStreamCompression -> Ordering
$ccompare :: TracingStreamCompression -> TracingStreamCompression -> Ordering
$cp1Ord :: Eq TracingStreamCompression
Ord, TracingStreamCompression -> TracingStreamCompression -> Bool
(TracingStreamCompression -> TracingStreamCompression -> Bool)
-> (TracingStreamCompression -> TracingStreamCompression -> Bool)
-> Eq TracingStreamCompression
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TracingStreamCompression -> TracingStreamCompression -> Bool
$c/= :: TracingStreamCompression -> TracingStreamCompression -> Bool
== :: TracingStreamCompression -> TracingStreamCompression -> Bool
$c== :: TracingStreamCompression -> TracingStreamCompression -> Bool
Eq, Int -> TracingStreamCompression -> ShowS
[TracingStreamCompression] -> ShowS
TracingStreamCompression -> String
(Int -> TracingStreamCompression -> ShowS)
-> (TracingStreamCompression -> String)
-> ([TracingStreamCompression] -> ShowS)
-> Show TracingStreamCompression
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TracingStreamCompression] -> ShowS
$cshowList :: [TracingStreamCompression] -> ShowS
show :: TracingStreamCompression -> String
$cshow :: TracingStreamCompression -> String
showsPrec :: Int -> TracingStreamCompression -> ShowS
$cshowsPrec :: Int -> TracingStreamCompression -> ShowS
Show, ReadPrec [TracingStreamCompression]
ReadPrec TracingStreamCompression
Int -> ReadS TracingStreamCompression
ReadS [TracingStreamCompression]
(Int -> ReadS TracingStreamCompression)
-> ReadS [TracingStreamCompression]
-> ReadPrec TracingStreamCompression
-> ReadPrec [TracingStreamCompression]
-> Read TracingStreamCompression
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TracingStreamCompression]
$creadListPrec :: ReadPrec [TracingStreamCompression]
readPrec :: ReadPrec TracingStreamCompression
$creadPrec :: ReadPrec TracingStreamCompression
readList :: ReadS [TracingStreamCompression]
$creadList :: ReadS [TracingStreamCompression]
readsPrec :: Int -> ReadS TracingStreamCompression
$creadsPrec :: Int -> ReadS TracingStreamCompression
Read)
instance FromJSON TracingStreamCompression where
parseJSON :: Value -> Parser TracingStreamCompression
parseJSON = String
-> (Text -> Parser TracingStreamCompression)
-> Value
-> Parser TracingStreamCompression
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"TracingStreamCompression" ((Text -> Parser TracingStreamCompression)
-> Value -> Parser TracingStreamCompression)
-> (Text -> Parser TracingStreamCompression)
-> Value
-> Parser TracingStreamCompression
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
Text
"none" -> TracingStreamCompression -> Parser TracingStreamCompression
forall (f :: * -> *) a. Applicative f => a -> f a
pure TracingStreamCompression
TracingStreamCompressionNone
Text
"gzip" -> TracingStreamCompression -> Parser TracingStreamCompression
forall (f :: * -> *) a. Applicative f => a -> f a
pure TracingStreamCompression
TracingStreamCompressionGzip
Text
"_" -> String -> Parser TracingStreamCompression
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse TracingStreamCompression"
instance ToJSON TracingStreamCompression where
toJSON :: TracingStreamCompression -> Value
toJSON TracingStreamCompression
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case TracingStreamCompression
v of
TracingStreamCompression
TracingStreamCompressionNone -> Text
"none"
TracingStreamCompression
TracingStreamCompressionGzip -> Text
"gzip"
data TracingMemoryDumpLevelOfDetail = TracingMemoryDumpLevelOfDetailBackground | TracingMemoryDumpLevelOfDetailLight | TracingMemoryDumpLevelOfDetailDetailed
deriving (Eq TracingMemoryDumpLevelOfDetail
Eq TracingMemoryDumpLevelOfDetail
-> (TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Ordering)
-> (TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool)
-> (TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool)
-> (TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool)
-> (TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool)
-> (TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail)
-> (TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail)
-> Ord TracingMemoryDumpLevelOfDetail
TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool
TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Ordering
TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> TracingMemoryDumpLevelOfDetail
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> TracingMemoryDumpLevelOfDetail
$cmin :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> TracingMemoryDumpLevelOfDetail
max :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> TracingMemoryDumpLevelOfDetail
$cmax :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> TracingMemoryDumpLevelOfDetail
>= :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool
$c>= :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool
> :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool
$c> :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool
<= :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool
$c<= :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool
< :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool
$c< :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool
compare :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Ordering
$ccompare :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Ordering
$cp1Ord :: Eq TracingMemoryDumpLevelOfDetail
Ord, TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool
(TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool)
-> (TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool)
-> Eq TracingMemoryDumpLevelOfDetail
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool
$c/= :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool
== :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool
$c== :: TracingMemoryDumpLevelOfDetail
-> TracingMemoryDumpLevelOfDetail -> Bool
Eq, Int -> TracingMemoryDumpLevelOfDetail -> ShowS
[TracingMemoryDumpLevelOfDetail] -> ShowS
TracingMemoryDumpLevelOfDetail -> String
(Int -> TracingMemoryDumpLevelOfDetail -> ShowS)
-> (TracingMemoryDumpLevelOfDetail -> String)
-> ([TracingMemoryDumpLevelOfDetail] -> ShowS)
-> Show TracingMemoryDumpLevelOfDetail
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TracingMemoryDumpLevelOfDetail] -> ShowS
$cshowList :: [TracingMemoryDumpLevelOfDetail] -> ShowS
show :: TracingMemoryDumpLevelOfDetail -> String
$cshow :: TracingMemoryDumpLevelOfDetail -> String
showsPrec :: Int -> TracingMemoryDumpLevelOfDetail -> ShowS
$cshowsPrec :: Int -> TracingMemoryDumpLevelOfDetail -> ShowS
Show, ReadPrec [TracingMemoryDumpLevelOfDetail]
ReadPrec TracingMemoryDumpLevelOfDetail
Int -> ReadS TracingMemoryDumpLevelOfDetail
ReadS [TracingMemoryDumpLevelOfDetail]
(Int -> ReadS TracingMemoryDumpLevelOfDetail)
-> ReadS [TracingMemoryDumpLevelOfDetail]
-> ReadPrec TracingMemoryDumpLevelOfDetail
-> ReadPrec [TracingMemoryDumpLevelOfDetail]
-> Read TracingMemoryDumpLevelOfDetail
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TracingMemoryDumpLevelOfDetail]
$creadListPrec :: ReadPrec [TracingMemoryDumpLevelOfDetail]
readPrec :: ReadPrec TracingMemoryDumpLevelOfDetail
$creadPrec :: ReadPrec TracingMemoryDumpLevelOfDetail
readList :: ReadS [TracingMemoryDumpLevelOfDetail]
$creadList :: ReadS [TracingMemoryDumpLevelOfDetail]
readsPrec :: Int -> ReadS TracingMemoryDumpLevelOfDetail
$creadsPrec :: Int -> ReadS TracingMemoryDumpLevelOfDetail
Read)
instance FromJSON TracingMemoryDumpLevelOfDetail where
parseJSON :: Value -> Parser TracingMemoryDumpLevelOfDetail
parseJSON = String
-> (Text -> Parser TracingMemoryDumpLevelOfDetail)
-> Value
-> Parser TracingMemoryDumpLevelOfDetail
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"TracingMemoryDumpLevelOfDetail" ((Text -> Parser TracingMemoryDumpLevelOfDetail)
-> Value -> Parser TracingMemoryDumpLevelOfDetail)
-> (Text -> Parser TracingMemoryDumpLevelOfDetail)
-> Value
-> Parser TracingMemoryDumpLevelOfDetail
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
Text
"background" -> TracingMemoryDumpLevelOfDetail
-> Parser TracingMemoryDumpLevelOfDetail
forall (f :: * -> *) a. Applicative f => a -> f a
pure TracingMemoryDumpLevelOfDetail
TracingMemoryDumpLevelOfDetailBackground
Text
"light" -> TracingMemoryDumpLevelOfDetail
-> Parser TracingMemoryDumpLevelOfDetail
forall (f :: * -> *) a. Applicative f => a -> f a
pure TracingMemoryDumpLevelOfDetail
TracingMemoryDumpLevelOfDetailLight
Text
"detailed" -> TracingMemoryDumpLevelOfDetail
-> Parser TracingMemoryDumpLevelOfDetail
forall (f :: * -> *) a. Applicative f => a -> f a
pure TracingMemoryDumpLevelOfDetail
TracingMemoryDumpLevelOfDetailDetailed
Text
"_" -> String -> Parser TracingMemoryDumpLevelOfDetail
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse TracingMemoryDumpLevelOfDetail"
instance ToJSON TracingMemoryDumpLevelOfDetail where
toJSON :: TracingMemoryDumpLevelOfDetail -> Value
toJSON TracingMemoryDumpLevelOfDetail
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case TracingMemoryDumpLevelOfDetail
v of
TracingMemoryDumpLevelOfDetail
TracingMemoryDumpLevelOfDetailBackground -> Text
"background"
TracingMemoryDumpLevelOfDetail
TracingMemoryDumpLevelOfDetailLight -> Text
"light"
TracingMemoryDumpLevelOfDetail
TracingMemoryDumpLevelOfDetailDetailed -> Text
"detailed"
data TracingTracingBackend = TracingTracingBackendAuto | TracingTracingBackendChrome | TracingTracingBackendSystem
deriving (Eq TracingTracingBackend
Eq TracingTracingBackend
-> (TracingTracingBackend -> TracingTracingBackend -> Ordering)
-> (TracingTracingBackend -> TracingTracingBackend -> Bool)
-> (TracingTracingBackend -> TracingTracingBackend -> Bool)
-> (TracingTracingBackend -> TracingTracingBackend -> Bool)
-> (TracingTracingBackend -> TracingTracingBackend -> Bool)
-> (TracingTracingBackend
-> TracingTracingBackend -> TracingTracingBackend)
-> (TracingTracingBackend
-> TracingTracingBackend -> TracingTracingBackend)
-> Ord TracingTracingBackend
TracingTracingBackend -> TracingTracingBackend -> Bool
TracingTracingBackend -> TracingTracingBackend -> Ordering
TracingTracingBackend
-> TracingTracingBackend -> TracingTracingBackend
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TracingTracingBackend
-> TracingTracingBackend -> TracingTracingBackend
$cmin :: TracingTracingBackend
-> TracingTracingBackend -> TracingTracingBackend
max :: TracingTracingBackend
-> TracingTracingBackend -> TracingTracingBackend
$cmax :: TracingTracingBackend
-> TracingTracingBackend -> TracingTracingBackend
>= :: TracingTracingBackend -> TracingTracingBackend -> Bool
$c>= :: TracingTracingBackend -> TracingTracingBackend -> Bool
> :: TracingTracingBackend -> TracingTracingBackend -> Bool
$c> :: TracingTracingBackend -> TracingTracingBackend -> Bool
<= :: TracingTracingBackend -> TracingTracingBackend -> Bool
$c<= :: TracingTracingBackend -> TracingTracingBackend -> Bool
< :: TracingTracingBackend -> TracingTracingBackend -> Bool
$c< :: TracingTracingBackend -> TracingTracingBackend -> Bool
compare :: TracingTracingBackend -> TracingTracingBackend -> Ordering
$ccompare :: TracingTracingBackend -> TracingTracingBackend -> Ordering
$cp1Ord :: Eq TracingTracingBackend
Ord, TracingTracingBackend -> TracingTracingBackend -> Bool
(TracingTracingBackend -> TracingTracingBackend -> Bool)
-> (TracingTracingBackend -> TracingTracingBackend -> Bool)
-> Eq TracingTracingBackend
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TracingTracingBackend -> TracingTracingBackend -> Bool
$c/= :: TracingTracingBackend -> TracingTracingBackend -> Bool
== :: TracingTracingBackend -> TracingTracingBackend -> Bool
$c== :: TracingTracingBackend -> TracingTracingBackend -> Bool
Eq, Int -> TracingTracingBackend -> ShowS
[TracingTracingBackend] -> ShowS
TracingTracingBackend -> String
(Int -> TracingTracingBackend -> ShowS)
-> (TracingTracingBackend -> String)
-> ([TracingTracingBackend] -> ShowS)
-> Show TracingTracingBackend
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TracingTracingBackend] -> ShowS
$cshowList :: [TracingTracingBackend] -> ShowS
show :: TracingTracingBackend -> String
$cshow :: TracingTracingBackend -> String
showsPrec :: Int -> TracingTracingBackend -> ShowS
$cshowsPrec :: Int -> TracingTracingBackend -> ShowS
Show, ReadPrec [TracingTracingBackend]
ReadPrec TracingTracingBackend
Int -> ReadS TracingTracingBackend
ReadS [TracingTracingBackend]
(Int -> ReadS TracingTracingBackend)
-> ReadS [TracingTracingBackend]
-> ReadPrec TracingTracingBackend
-> ReadPrec [TracingTracingBackend]
-> Read TracingTracingBackend
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TracingTracingBackend]
$creadListPrec :: ReadPrec [TracingTracingBackend]
readPrec :: ReadPrec TracingTracingBackend
$creadPrec :: ReadPrec TracingTracingBackend
readList :: ReadS [TracingTracingBackend]
$creadList :: ReadS [TracingTracingBackend]
readsPrec :: Int -> ReadS TracingTracingBackend
$creadsPrec :: Int -> ReadS TracingTracingBackend
Read)
instance FromJSON TracingTracingBackend where
parseJSON :: Value -> Parser TracingTracingBackend
parseJSON = String
-> (Text -> Parser TracingTracingBackend)
-> Value
-> Parser TracingTracingBackend
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"TracingTracingBackend" ((Text -> Parser TracingTracingBackend)
-> Value -> Parser TracingTracingBackend)
-> (Text -> Parser TracingTracingBackend)
-> Value
-> Parser TracingTracingBackend
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
Text
"auto" -> TracingTracingBackend -> Parser TracingTracingBackend
forall (f :: * -> *) a. Applicative f => a -> f a
pure TracingTracingBackend
TracingTracingBackendAuto
Text
"chrome" -> TracingTracingBackend -> Parser TracingTracingBackend
forall (f :: * -> *) a. Applicative f => a -> f a
pure TracingTracingBackend
TracingTracingBackendChrome
Text
"system" -> TracingTracingBackend -> Parser TracingTracingBackend
forall (f :: * -> *) a. Applicative f => a -> f a
pure TracingTracingBackend
TracingTracingBackendSystem
Text
"_" -> String -> Parser TracingTracingBackend
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse TracingTracingBackend"
instance ToJSON TracingTracingBackend where
toJSON :: TracingTracingBackend -> Value
toJSON TracingTracingBackend
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case TracingTracingBackend
v of
TracingTracingBackend
TracingTracingBackendAuto -> Text
"auto"
TracingTracingBackend
TracingTracingBackendChrome -> Text
"chrome"
TracingTracingBackend
TracingTracingBackendSystem -> Text
"system"
data TracingBufferUsage = TracingBufferUsage
{
TracingBufferUsage -> Maybe Double
tracingBufferUsagePercentFull :: Maybe Double,
TracingBufferUsage -> Maybe Double
tracingBufferUsageEventCount :: Maybe Double,
TracingBufferUsage -> Maybe Double
tracingBufferUsageValue :: Maybe Double
}
deriving (TracingBufferUsage -> TracingBufferUsage -> Bool
(TracingBufferUsage -> TracingBufferUsage -> Bool)
-> (TracingBufferUsage -> TracingBufferUsage -> Bool)
-> Eq TracingBufferUsage
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TracingBufferUsage -> TracingBufferUsage -> Bool
$c/= :: TracingBufferUsage -> TracingBufferUsage -> Bool
== :: TracingBufferUsage -> TracingBufferUsage -> Bool
$c== :: TracingBufferUsage -> TracingBufferUsage -> Bool
Eq, Int -> TracingBufferUsage -> ShowS
[TracingBufferUsage] -> ShowS
TracingBufferUsage -> String
(Int -> TracingBufferUsage -> ShowS)
-> (TracingBufferUsage -> String)
-> ([TracingBufferUsage] -> ShowS)
-> Show TracingBufferUsage
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TracingBufferUsage] -> ShowS
$cshowList :: [TracingBufferUsage] -> ShowS
show :: TracingBufferUsage -> String
$cshow :: TracingBufferUsage -> String
showsPrec :: Int -> TracingBufferUsage -> ShowS
$cshowsPrec :: Int -> TracingBufferUsage -> ShowS
Show)
instance FromJSON TracingBufferUsage where
parseJSON :: Value -> Parser TracingBufferUsage
parseJSON = String
-> (Object -> Parser TracingBufferUsage)
-> Value
-> Parser TracingBufferUsage
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"TracingBufferUsage" ((Object -> Parser TracingBufferUsage)
-> Value -> Parser TracingBufferUsage)
-> (Object -> Parser TracingBufferUsage)
-> Value
-> Parser TracingBufferUsage
forall a b. (a -> b) -> a -> b
$ \Object
o -> Maybe Double -> Maybe Double -> Maybe Double -> TracingBufferUsage
TracingBufferUsage
(Maybe Double
-> Maybe Double -> Maybe Double -> TracingBufferUsage)
-> Parser (Maybe Double)
-> Parser (Maybe Double -> Maybe Double -> TracingBufferUsage)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser (Maybe Double)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"percentFull"
Parser (Maybe Double -> Maybe Double -> TracingBufferUsage)
-> Parser (Maybe Double)
-> Parser (Maybe Double -> TracingBufferUsage)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe Double)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"eventCount"
Parser (Maybe Double -> TracingBufferUsage)
-> Parser (Maybe Double) -> Parser TracingBufferUsage
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe Double)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"value"
instance Event TracingBufferUsage where
eventName :: Proxy TracingBufferUsage -> String
eventName Proxy TracingBufferUsage
_ = String
"Tracing.bufferUsage"
data TracingDataCollected = TracingDataCollected
{
TracingDataCollected -> [TracingMemoryDumpConfig]
tracingDataCollectedValue :: [[(T.Text, T.Text)]]
}
deriving (TracingDataCollected -> TracingDataCollected -> Bool
(TracingDataCollected -> TracingDataCollected -> Bool)
-> (TracingDataCollected -> TracingDataCollected -> Bool)
-> Eq TracingDataCollected
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TracingDataCollected -> TracingDataCollected -> Bool
$c/= :: TracingDataCollected -> TracingDataCollected -> Bool
== :: TracingDataCollected -> TracingDataCollected -> Bool
$c== :: TracingDataCollected -> TracingDataCollected -> Bool
Eq, Int -> TracingDataCollected -> ShowS
[TracingDataCollected] -> ShowS
TracingDataCollected -> String
(Int -> TracingDataCollected -> ShowS)
-> (TracingDataCollected -> String)
-> ([TracingDataCollected] -> ShowS)
-> Show TracingDataCollected
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TracingDataCollected] -> ShowS
$cshowList :: [TracingDataCollected] -> ShowS
show :: TracingDataCollected -> String
$cshow :: TracingDataCollected -> String
showsPrec :: Int -> TracingDataCollected -> ShowS
$cshowsPrec :: Int -> TracingDataCollected -> ShowS
Show)
instance FromJSON TracingDataCollected where
parseJSON :: Value -> Parser TracingDataCollected
parseJSON = String
-> (Object -> Parser TracingDataCollected)
-> Value
-> Parser TracingDataCollected
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"TracingDataCollected" ((Object -> Parser TracingDataCollected)
-> Value -> Parser TracingDataCollected)
-> (Object -> Parser TracingDataCollected)
-> Value
-> Parser TracingDataCollected
forall a b. (a -> b) -> a -> b
$ \Object
o -> [TracingMemoryDumpConfig] -> TracingDataCollected
TracingDataCollected
([TracingMemoryDumpConfig] -> TracingDataCollected)
-> Parser [TracingMemoryDumpConfig] -> Parser TracingDataCollected
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser [TracingMemoryDumpConfig]
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"value"
instance Event TracingDataCollected where
eventName :: Proxy TracingDataCollected -> String
eventName Proxy TracingDataCollected
_ = String
"Tracing.dataCollected"
data TracingTracingComplete = TracingTracingComplete
{
TracingTracingComplete -> Bool
tracingTracingCompleteDataLossOccurred :: Bool,
TracingTracingComplete -> Maybe Text
tracingTracingCompleteStream :: Maybe IO.IOStreamHandle,
TracingTracingComplete -> Maybe TracingStreamFormat
tracingTracingCompleteTraceFormat :: Maybe TracingStreamFormat,
TracingTracingComplete -> Maybe TracingStreamCompression
tracingTracingCompleteStreamCompression :: Maybe TracingStreamCompression
}
deriving (TracingTracingComplete -> TracingTracingComplete -> Bool
(TracingTracingComplete -> TracingTracingComplete -> Bool)
-> (TracingTracingComplete -> TracingTracingComplete -> Bool)
-> Eq TracingTracingComplete
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TracingTracingComplete -> TracingTracingComplete -> Bool
$c/= :: TracingTracingComplete -> TracingTracingComplete -> Bool
== :: TracingTracingComplete -> TracingTracingComplete -> Bool
$c== :: TracingTracingComplete -> TracingTracingComplete -> Bool
Eq, Int -> TracingTracingComplete -> ShowS
[TracingTracingComplete] -> ShowS
TracingTracingComplete -> String
(Int -> TracingTracingComplete -> ShowS)
-> (TracingTracingComplete -> String)
-> ([TracingTracingComplete] -> ShowS)
-> Show TracingTracingComplete
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TracingTracingComplete] -> ShowS
$cshowList :: [TracingTracingComplete] -> ShowS
show :: TracingTracingComplete -> String
$cshow :: TracingTracingComplete -> String
showsPrec :: Int -> TracingTracingComplete -> ShowS
$cshowsPrec :: Int -> TracingTracingComplete -> ShowS
Show)
instance FromJSON TracingTracingComplete where
parseJSON :: Value -> Parser TracingTracingComplete
parseJSON = String
-> (Object -> Parser TracingTracingComplete)
-> Value
-> Parser TracingTracingComplete
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"TracingTracingComplete" ((Object -> Parser TracingTracingComplete)
-> Value -> Parser TracingTracingComplete)
-> (Object -> Parser TracingTracingComplete)
-> Value
-> Parser TracingTracingComplete
forall a b. (a -> b) -> a -> b
$ \Object
o -> Bool
-> Maybe Text
-> Maybe TracingStreamFormat
-> Maybe TracingStreamCompression
-> TracingTracingComplete
TracingTracingComplete
(Bool
-> Maybe Text
-> Maybe TracingStreamFormat
-> Maybe TracingStreamCompression
-> TracingTracingComplete)
-> Parser Bool
-> Parser
(Maybe Text
-> Maybe TracingStreamFormat
-> Maybe TracingStreamCompression
-> TracingTracingComplete)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"dataLossOccurred"
Parser
(Maybe Text
-> Maybe TracingStreamFormat
-> Maybe TracingStreamCompression
-> TracingTracingComplete)
-> Parser (Maybe Text)
-> Parser
(Maybe TracingStreamFormat
-> Maybe TracingStreamCompression -> TracingTracingComplete)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"stream"
Parser
(Maybe TracingStreamFormat
-> Maybe TracingStreamCompression -> TracingTracingComplete)
-> Parser (Maybe TracingStreamFormat)
-> Parser
(Maybe TracingStreamCompression -> TracingTracingComplete)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe TracingStreamFormat)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"traceFormat"
Parser (Maybe TracingStreamCompression -> TracingTracingComplete)
-> Parser (Maybe TracingStreamCompression)
-> Parser TracingTracingComplete
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe TracingStreamCompression)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"streamCompression"
instance Event TracingTracingComplete where
eventName :: Proxy TracingTracingComplete -> String
eventName Proxy TracingTracingComplete
_ = String
"Tracing.tracingComplete"
data PTracingEnd = PTracingEnd
deriving (PTracingEnd -> PTracingEnd -> Bool
(PTracingEnd -> PTracingEnd -> Bool)
-> (PTracingEnd -> PTracingEnd -> Bool) -> Eq PTracingEnd
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PTracingEnd -> PTracingEnd -> Bool
$c/= :: PTracingEnd -> PTracingEnd -> Bool
== :: PTracingEnd -> PTracingEnd -> Bool
$c== :: PTracingEnd -> PTracingEnd -> Bool
Eq, Int -> PTracingEnd -> ShowS
[PTracingEnd] -> ShowS
PTracingEnd -> String
(Int -> PTracingEnd -> ShowS)
-> (PTracingEnd -> String)
-> ([PTracingEnd] -> ShowS)
-> Show PTracingEnd
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PTracingEnd] -> ShowS
$cshowList :: [PTracingEnd] -> ShowS
show :: PTracingEnd -> String
$cshow :: PTracingEnd -> String
showsPrec :: Int -> PTracingEnd -> ShowS
$cshowsPrec :: Int -> PTracingEnd -> ShowS
Show)
pTracingEnd
:: PTracingEnd
pTracingEnd :: PTracingEnd
pTracingEnd
= PTracingEnd
PTracingEnd
instance ToJSON PTracingEnd where
toJSON :: PTracingEnd -> Value
toJSON PTracingEnd
_ = Value
A.Null
instance Command PTracingEnd where
type CommandResponse PTracingEnd = ()
commandName :: Proxy PTracingEnd -> String
commandName Proxy PTracingEnd
_ = String
"Tracing.end"
fromJSON :: Proxy PTracingEnd -> Value -> Result (CommandResponse PTracingEnd)
fromJSON = Result () -> Value -> Result ()
forall a b. a -> b -> a
const (Result () -> Value -> Result ())
-> (Proxy PTracingEnd -> Result ())
-> Proxy PTracingEnd
-> Value
-> Result ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Result ()
forall a. a -> Result a
A.Success (() -> Result ())
-> (Proxy PTracingEnd -> ()) -> Proxy PTracingEnd -> Result ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Proxy PTracingEnd -> ()
forall a b. a -> b -> a
const ()
data PTracingGetCategories = PTracingGetCategories
deriving (PTracingGetCategories -> PTracingGetCategories -> Bool
(PTracingGetCategories -> PTracingGetCategories -> Bool)
-> (PTracingGetCategories -> PTracingGetCategories -> Bool)
-> Eq PTracingGetCategories
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PTracingGetCategories -> PTracingGetCategories -> Bool
$c/= :: PTracingGetCategories -> PTracingGetCategories -> Bool
== :: PTracingGetCategories -> PTracingGetCategories -> Bool
$c== :: PTracingGetCategories -> PTracingGetCategories -> Bool
Eq, Int -> PTracingGetCategories -> ShowS
[PTracingGetCategories] -> ShowS
PTracingGetCategories -> String
(Int -> PTracingGetCategories -> ShowS)
-> (PTracingGetCategories -> String)
-> ([PTracingGetCategories] -> ShowS)
-> Show PTracingGetCategories
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PTracingGetCategories] -> ShowS
$cshowList :: [PTracingGetCategories] -> ShowS
show :: PTracingGetCategories -> String
$cshow :: PTracingGetCategories -> String
showsPrec :: Int -> PTracingGetCategories -> ShowS
$cshowsPrec :: Int -> PTracingGetCategories -> ShowS
Show)
pTracingGetCategories
:: PTracingGetCategories
pTracingGetCategories :: PTracingGetCategories
pTracingGetCategories
= PTracingGetCategories
PTracingGetCategories
instance ToJSON PTracingGetCategories where
toJSON :: PTracingGetCategories -> Value
toJSON PTracingGetCategories
_ = Value
A.Null
data TracingGetCategories = TracingGetCategories
{
TracingGetCategories -> [Text]
tracingGetCategoriesCategories :: [T.Text]
}
deriving (TracingGetCategories -> TracingGetCategories -> Bool
(TracingGetCategories -> TracingGetCategories -> Bool)
-> (TracingGetCategories -> TracingGetCategories -> Bool)
-> Eq TracingGetCategories
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TracingGetCategories -> TracingGetCategories -> Bool
$c/= :: TracingGetCategories -> TracingGetCategories -> Bool
== :: TracingGetCategories -> TracingGetCategories -> Bool
$c== :: TracingGetCategories -> TracingGetCategories -> Bool
Eq, Int -> TracingGetCategories -> ShowS
[TracingGetCategories] -> ShowS
TracingGetCategories -> String
(Int -> TracingGetCategories -> ShowS)
-> (TracingGetCategories -> String)
-> ([TracingGetCategories] -> ShowS)
-> Show TracingGetCategories
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TracingGetCategories] -> ShowS
$cshowList :: [TracingGetCategories] -> ShowS
show :: TracingGetCategories -> String
$cshow :: TracingGetCategories -> String
showsPrec :: Int -> TracingGetCategories -> ShowS
$cshowsPrec :: Int -> TracingGetCategories -> ShowS
Show)
instance FromJSON TracingGetCategories where
parseJSON :: Value -> Parser TracingGetCategories
parseJSON = String
-> (Object -> Parser TracingGetCategories)
-> Value
-> Parser TracingGetCategories
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"TracingGetCategories" ((Object -> Parser TracingGetCategories)
-> Value -> Parser TracingGetCategories)
-> (Object -> Parser TracingGetCategories)
-> Value
-> Parser TracingGetCategories
forall a b. (a -> b) -> a -> b
$ \Object
o -> [Text] -> TracingGetCategories
TracingGetCategories
([Text] -> TracingGetCategories)
-> Parser [Text] -> Parser TracingGetCategories
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser [Text]
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"categories"
instance Command PTracingGetCategories where
type CommandResponse PTracingGetCategories = TracingGetCategories
commandName :: Proxy PTracingGetCategories -> String
commandName Proxy PTracingGetCategories
_ = String
"Tracing.getCategories"
data PTracingRecordClockSyncMarker = PTracingRecordClockSyncMarker
{
PTracingRecordClockSyncMarker -> Text
pTracingRecordClockSyncMarkerSyncId :: T.Text
}
deriving (PTracingRecordClockSyncMarker
-> PTracingRecordClockSyncMarker -> Bool
(PTracingRecordClockSyncMarker
-> PTracingRecordClockSyncMarker -> Bool)
-> (PTracingRecordClockSyncMarker
-> PTracingRecordClockSyncMarker -> Bool)
-> Eq PTracingRecordClockSyncMarker
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PTracingRecordClockSyncMarker
-> PTracingRecordClockSyncMarker -> Bool
$c/= :: PTracingRecordClockSyncMarker
-> PTracingRecordClockSyncMarker -> Bool
== :: PTracingRecordClockSyncMarker
-> PTracingRecordClockSyncMarker -> Bool
$c== :: PTracingRecordClockSyncMarker
-> PTracingRecordClockSyncMarker -> Bool
Eq, Int -> PTracingRecordClockSyncMarker -> ShowS
[PTracingRecordClockSyncMarker] -> ShowS
PTracingRecordClockSyncMarker -> String
(Int -> PTracingRecordClockSyncMarker -> ShowS)
-> (PTracingRecordClockSyncMarker -> String)
-> ([PTracingRecordClockSyncMarker] -> ShowS)
-> Show PTracingRecordClockSyncMarker
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PTracingRecordClockSyncMarker] -> ShowS
$cshowList :: [PTracingRecordClockSyncMarker] -> ShowS
show :: PTracingRecordClockSyncMarker -> String
$cshow :: PTracingRecordClockSyncMarker -> String
showsPrec :: Int -> PTracingRecordClockSyncMarker -> ShowS
$cshowsPrec :: Int -> PTracingRecordClockSyncMarker -> ShowS
Show)
pTracingRecordClockSyncMarker
:: T.Text
-> PTracingRecordClockSyncMarker
pTracingRecordClockSyncMarker :: Text -> PTracingRecordClockSyncMarker
pTracingRecordClockSyncMarker
Text
arg_pTracingRecordClockSyncMarkerSyncId
= Text -> PTracingRecordClockSyncMarker
PTracingRecordClockSyncMarker
Text
arg_pTracingRecordClockSyncMarkerSyncId
instance ToJSON PTracingRecordClockSyncMarker where
toJSON :: PTracingRecordClockSyncMarker -> Value
toJSON PTracingRecordClockSyncMarker
p = [Pair] -> Value
A.object ([Pair] -> Value) -> [Pair] -> Value
forall a b. (a -> b) -> a -> b
$ [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
catMaybes [
(Text
"syncId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (PTracingRecordClockSyncMarker -> Text
pTracingRecordClockSyncMarkerSyncId PTracingRecordClockSyncMarker
p)
]
instance Command PTracingRecordClockSyncMarker where
type CommandResponse PTracingRecordClockSyncMarker = ()
commandName :: Proxy PTracingRecordClockSyncMarker -> String
commandName Proxy PTracingRecordClockSyncMarker
_ = String
"Tracing.recordClockSyncMarker"
fromJSON :: Proxy PTracingRecordClockSyncMarker
-> Value -> Result (CommandResponse PTracingRecordClockSyncMarker)
fromJSON = Result () -> Value -> Result ()
forall a b. a -> b -> a
const (Result () -> Value -> Result ())
-> (Proxy PTracingRecordClockSyncMarker -> Result ())
-> Proxy PTracingRecordClockSyncMarker
-> Value
-> Result ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Result ()
forall a. a -> Result a
A.Success (() -> Result ())
-> (Proxy PTracingRecordClockSyncMarker -> ())
-> Proxy PTracingRecordClockSyncMarker
-> Result ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Proxy PTracingRecordClockSyncMarker -> ()
forall a b. a -> b -> a
const ()
data PTracingRequestMemoryDump = PTracingRequestMemoryDump
{
PTracingRequestMemoryDump -> Maybe Bool
pTracingRequestMemoryDumpDeterministic :: Maybe Bool,
PTracingRequestMemoryDump -> Maybe TracingMemoryDumpLevelOfDetail
pTracingRequestMemoryDumpLevelOfDetail :: Maybe TracingMemoryDumpLevelOfDetail
}
deriving (PTracingRequestMemoryDump -> PTracingRequestMemoryDump -> Bool
(PTracingRequestMemoryDump -> PTracingRequestMemoryDump -> Bool)
-> (PTracingRequestMemoryDump -> PTracingRequestMemoryDump -> Bool)
-> Eq PTracingRequestMemoryDump
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PTracingRequestMemoryDump -> PTracingRequestMemoryDump -> Bool
$c/= :: PTracingRequestMemoryDump -> PTracingRequestMemoryDump -> Bool
== :: PTracingRequestMemoryDump -> PTracingRequestMemoryDump -> Bool
$c== :: PTracingRequestMemoryDump -> PTracingRequestMemoryDump -> Bool
Eq, Int -> PTracingRequestMemoryDump -> ShowS
[PTracingRequestMemoryDump] -> ShowS
PTracingRequestMemoryDump -> String
(Int -> PTracingRequestMemoryDump -> ShowS)
-> (PTracingRequestMemoryDump -> String)
-> ([PTracingRequestMemoryDump] -> ShowS)
-> Show PTracingRequestMemoryDump
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PTracingRequestMemoryDump] -> ShowS
$cshowList :: [PTracingRequestMemoryDump] -> ShowS
show :: PTracingRequestMemoryDump -> String
$cshow :: PTracingRequestMemoryDump -> String
showsPrec :: Int -> PTracingRequestMemoryDump -> ShowS
$cshowsPrec :: Int -> PTracingRequestMemoryDump -> ShowS
Show)
pTracingRequestMemoryDump
:: PTracingRequestMemoryDump
pTracingRequestMemoryDump :: PTracingRequestMemoryDump
pTracingRequestMemoryDump
= Maybe Bool
-> Maybe TracingMemoryDumpLevelOfDetail
-> PTracingRequestMemoryDump
PTracingRequestMemoryDump
Maybe Bool
forall a. Maybe a
Nothing
Maybe TracingMemoryDumpLevelOfDetail
forall a. Maybe a
Nothing
instance ToJSON PTracingRequestMemoryDump where
toJSON :: PTracingRequestMemoryDump -> Value
toJSON PTracingRequestMemoryDump
p = [Pair] -> Value
A.object ([Pair] -> Value) -> [Pair] -> Value
forall a b. (a -> b) -> a -> b
$ [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
catMaybes [
(Text
"deterministic" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (PTracingRequestMemoryDump -> Maybe Bool
pTracingRequestMemoryDumpDeterministic PTracingRequestMemoryDump
p),
(Text
"levelOfDetail" Text -> TracingMemoryDumpLevelOfDetail -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (TracingMemoryDumpLevelOfDetail -> Pair)
-> Maybe TracingMemoryDumpLevelOfDetail -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (PTracingRequestMemoryDump -> Maybe TracingMemoryDumpLevelOfDetail
pTracingRequestMemoryDumpLevelOfDetail PTracingRequestMemoryDump
p)
]
data TracingRequestMemoryDump = TracingRequestMemoryDump
{
TracingRequestMemoryDump -> Text
tracingRequestMemoryDumpDumpGuid :: T.Text,
TracingRequestMemoryDump -> Bool
tracingRequestMemoryDumpSuccess :: Bool
}
deriving (TracingRequestMemoryDump -> TracingRequestMemoryDump -> Bool
(TracingRequestMemoryDump -> TracingRequestMemoryDump -> Bool)
-> (TracingRequestMemoryDump -> TracingRequestMemoryDump -> Bool)
-> Eq TracingRequestMemoryDump
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TracingRequestMemoryDump -> TracingRequestMemoryDump -> Bool
$c/= :: TracingRequestMemoryDump -> TracingRequestMemoryDump -> Bool
== :: TracingRequestMemoryDump -> TracingRequestMemoryDump -> Bool
$c== :: TracingRequestMemoryDump -> TracingRequestMemoryDump -> Bool
Eq, Int -> TracingRequestMemoryDump -> ShowS
[TracingRequestMemoryDump] -> ShowS
TracingRequestMemoryDump -> String
(Int -> TracingRequestMemoryDump -> ShowS)
-> (TracingRequestMemoryDump -> String)
-> ([TracingRequestMemoryDump] -> ShowS)
-> Show TracingRequestMemoryDump
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TracingRequestMemoryDump] -> ShowS
$cshowList :: [TracingRequestMemoryDump] -> ShowS
show :: TracingRequestMemoryDump -> String
$cshow :: TracingRequestMemoryDump -> String
showsPrec :: Int -> TracingRequestMemoryDump -> ShowS
$cshowsPrec :: Int -> TracingRequestMemoryDump -> ShowS
Show)
instance FromJSON TracingRequestMemoryDump where
parseJSON :: Value -> Parser TracingRequestMemoryDump
parseJSON = String
-> (Object -> Parser TracingRequestMemoryDump)
-> Value
-> Parser TracingRequestMemoryDump
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"TracingRequestMemoryDump" ((Object -> Parser TracingRequestMemoryDump)
-> Value -> Parser TracingRequestMemoryDump)
-> (Object -> Parser TracingRequestMemoryDump)
-> Value
-> Parser TracingRequestMemoryDump
forall a b. (a -> b) -> a -> b
$ \Object
o -> Text -> Bool -> TracingRequestMemoryDump
TracingRequestMemoryDump
(Text -> Bool -> TracingRequestMemoryDump)
-> Parser Text -> Parser (Bool -> TracingRequestMemoryDump)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"dumpGuid"
Parser (Bool -> TracingRequestMemoryDump)
-> Parser Bool -> Parser TracingRequestMemoryDump
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"success"
instance Command PTracingRequestMemoryDump where
type CommandResponse PTracingRequestMemoryDump = TracingRequestMemoryDump
commandName :: Proxy PTracingRequestMemoryDump -> String
commandName Proxy PTracingRequestMemoryDump
_ = String
"Tracing.requestMemoryDump"
data PTracingStartTransferMode = PTracingStartTransferModeReportEvents | PTracingStartTransferModeReturnAsStream
deriving (Eq PTracingStartTransferMode
Eq PTracingStartTransferMode
-> (PTracingStartTransferMode
-> PTracingStartTransferMode -> Ordering)
-> (PTracingStartTransferMode -> PTracingStartTransferMode -> Bool)
-> (PTracingStartTransferMode -> PTracingStartTransferMode -> Bool)
-> (PTracingStartTransferMode -> PTracingStartTransferMode -> Bool)
-> (PTracingStartTransferMode -> PTracingStartTransferMode -> Bool)
-> (PTracingStartTransferMode
-> PTracingStartTransferMode -> PTracingStartTransferMode)
-> (PTracingStartTransferMode
-> PTracingStartTransferMode -> PTracingStartTransferMode)
-> Ord PTracingStartTransferMode
PTracingStartTransferMode -> PTracingStartTransferMode -> Bool
PTracingStartTransferMode -> PTracingStartTransferMode -> Ordering
PTracingStartTransferMode
-> PTracingStartTransferMode -> PTracingStartTransferMode
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: PTracingStartTransferMode
-> PTracingStartTransferMode -> PTracingStartTransferMode
$cmin :: PTracingStartTransferMode
-> PTracingStartTransferMode -> PTracingStartTransferMode
max :: PTracingStartTransferMode
-> PTracingStartTransferMode -> PTracingStartTransferMode
$cmax :: PTracingStartTransferMode
-> PTracingStartTransferMode -> PTracingStartTransferMode
>= :: PTracingStartTransferMode -> PTracingStartTransferMode -> Bool
$c>= :: PTracingStartTransferMode -> PTracingStartTransferMode -> Bool
> :: PTracingStartTransferMode -> PTracingStartTransferMode -> Bool
$c> :: PTracingStartTransferMode -> PTracingStartTransferMode -> Bool
<= :: PTracingStartTransferMode -> PTracingStartTransferMode -> Bool
$c<= :: PTracingStartTransferMode -> PTracingStartTransferMode -> Bool
< :: PTracingStartTransferMode -> PTracingStartTransferMode -> Bool
$c< :: PTracingStartTransferMode -> PTracingStartTransferMode -> Bool
compare :: PTracingStartTransferMode -> PTracingStartTransferMode -> Ordering
$ccompare :: PTracingStartTransferMode -> PTracingStartTransferMode -> Ordering
$cp1Ord :: Eq PTracingStartTransferMode
Ord, PTracingStartTransferMode -> PTracingStartTransferMode -> Bool
(PTracingStartTransferMode -> PTracingStartTransferMode -> Bool)
-> (PTracingStartTransferMode -> PTracingStartTransferMode -> Bool)
-> Eq PTracingStartTransferMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PTracingStartTransferMode -> PTracingStartTransferMode -> Bool
$c/= :: PTracingStartTransferMode -> PTracingStartTransferMode -> Bool
== :: PTracingStartTransferMode -> PTracingStartTransferMode -> Bool
$c== :: PTracingStartTransferMode -> PTracingStartTransferMode -> Bool
Eq, Int -> PTracingStartTransferMode -> ShowS
[PTracingStartTransferMode] -> ShowS
PTracingStartTransferMode -> String
(Int -> PTracingStartTransferMode -> ShowS)
-> (PTracingStartTransferMode -> String)
-> ([PTracingStartTransferMode] -> ShowS)
-> Show PTracingStartTransferMode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PTracingStartTransferMode] -> ShowS
$cshowList :: [PTracingStartTransferMode] -> ShowS
show :: PTracingStartTransferMode -> String
$cshow :: PTracingStartTransferMode -> String
showsPrec :: Int -> PTracingStartTransferMode -> ShowS
$cshowsPrec :: Int -> PTracingStartTransferMode -> ShowS
Show, ReadPrec [PTracingStartTransferMode]
ReadPrec PTracingStartTransferMode
Int -> ReadS PTracingStartTransferMode
ReadS [PTracingStartTransferMode]
(Int -> ReadS PTracingStartTransferMode)
-> ReadS [PTracingStartTransferMode]
-> ReadPrec PTracingStartTransferMode
-> ReadPrec [PTracingStartTransferMode]
-> Read PTracingStartTransferMode
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PTracingStartTransferMode]
$creadListPrec :: ReadPrec [PTracingStartTransferMode]
readPrec :: ReadPrec PTracingStartTransferMode
$creadPrec :: ReadPrec PTracingStartTransferMode
readList :: ReadS [PTracingStartTransferMode]
$creadList :: ReadS [PTracingStartTransferMode]
readsPrec :: Int -> ReadS PTracingStartTransferMode
$creadsPrec :: Int -> ReadS PTracingStartTransferMode
Read)
instance FromJSON PTracingStartTransferMode where
parseJSON :: Value -> Parser PTracingStartTransferMode
parseJSON = String
-> (Text -> Parser PTracingStartTransferMode)
-> Value
-> Parser PTracingStartTransferMode
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"PTracingStartTransferMode" ((Text -> Parser PTracingStartTransferMode)
-> Value -> Parser PTracingStartTransferMode)
-> (Text -> Parser PTracingStartTransferMode)
-> Value
-> Parser PTracingStartTransferMode
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
Text
"ReportEvents" -> PTracingStartTransferMode -> Parser PTracingStartTransferMode
forall (f :: * -> *) a. Applicative f => a -> f a
pure PTracingStartTransferMode
PTracingStartTransferModeReportEvents
Text
"ReturnAsStream" -> PTracingStartTransferMode -> Parser PTracingStartTransferMode
forall (f :: * -> *) a. Applicative f => a -> f a
pure PTracingStartTransferMode
PTracingStartTransferModeReturnAsStream
Text
"_" -> String -> Parser PTracingStartTransferMode
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse PTracingStartTransferMode"
instance ToJSON PTracingStartTransferMode where
toJSON :: PTracingStartTransferMode -> Value
toJSON PTracingStartTransferMode
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case PTracingStartTransferMode
v of
PTracingStartTransferMode
PTracingStartTransferModeReportEvents -> Text
"ReportEvents"
PTracingStartTransferMode
PTracingStartTransferModeReturnAsStream -> Text
"ReturnAsStream"
data PTracingStart = PTracingStart
{
PTracingStart -> Maybe Double
pTracingStartBufferUsageReportingInterval :: Maybe Double,
PTracingStart -> Maybe PTracingStartTransferMode
pTracingStartTransferMode :: Maybe PTracingStartTransferMode,
PTracingStart -> Maybe TracingStreamFormat
pTracingStartStreamFormat :: Maybe TracingStreamFormat,
PTracingStart -> Maybe TracingStreamCompression
pTracingStartStreamCompression :: Maybe TracingStreamCompression,
PTracingStart -> Maybe TracingTraceConfig
pTracingStartTraceConfig :: Maybe TracingTraceConfig,
PTracingStart -> Maybe Text
pTracingStartPerfettoConfig :: Maybe T.Text,
PTracingStart -> Maybe TracingTracingBackend
pTracingStartTracingBackend :: Maybe TracingTracingBackend
}
deriving (PTracingStart -> PTracingStart -> Bool
(PTracingStart -> PTracingStart -> Bool)
-> (PTracingStart -> PTracingStart -> Bool) -> Eq PTracingStart
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PTracingStart -> PTracingStart -> Bool
$c/= :: PTracingStart -> PTracingStart -> Bool
== :: PTracingStart -> PTracingStart -> Bool
$c== :: PTracingStart -> PTracingStart -> Bool
Eq, Int -> PTracingStart -> ShowS
[PTracingStart] -> ShowS
PTracingStart -> String
(Int -> PTracingStart -> ShowS)
-> (PTracingStart -> String)
-> ([PTracingStart] -> ShowS)
-> Show PTracingStart
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PTracingStart] -> ShowS
$cshowList :: [PTracingStart] -> ShowS
show :: PTracingStart -> String
$cshow :: PTracingStart -> String
showsPrec :: Int -> PTracingStart -> ShowS
$cshowsPrec :: Int -> PTracingStart -> ShowS
Show)
pTracingStart
:: PTracingStart
pTracingStart :: PTracingStart
pTracingStart
= Maybe Double
-> Maybe PTracingStartTransferMode
-> Maybe TracingStreamFormat
-> Maybe TracingStreamCompression
-> Maybe TracingTraceConfig
-> Maybe Text
-> Maybe TracingTracingBackend
-> PTracingStart
PTracingStart
Maybe Double
forall a. Maybe a
Nothing
Maybe PTracingStartTransferMode
forall a. Maybe a
Nothing
Maybe TracingStreamFormat
forall a. Maybe a
Nothing
Maybe TracingStreamCompression
forall a. Maybe a
Nothing
Maybe TracingTraceConfig
forall a. Maybe a
Nothing
Maybe Text
forall a. Maybe a
Nothing
Maybe TracingTracingBackend
forall a. Maybe a
Nothing
instance ToJSON PTracingStart where
toJSON :: PTracingStart -> Value
toJSON PTracingStart
p = [Pair] -> Value
A.object ([Pair] -> Value) -> [Pair] -> Value
forall a b. (a -> b) -> a -> b
$ [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
catMaybes [
(Text
"bufferUsageReportingInterval" Text -> Double -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Double -> Pair) -> Maybe Double -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (PTracingStart -> Maybe Double
pTracingStartBufferUsageReportingInterval PTracingStart
p),
(Text
"transferMode" Text -> PTracingStartTransferMode -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (PTracingStartTransferMode -> Pair)
-> Maybe PTracingStartTransferMode -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (PTracingStart -> Maybe PTracingStartTransferMode
pTracingStartTransferMode PTracingStart
p),
(Text
"streamFormat" Text -> TracingStreamFormat -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (TracingStreamFormat -> Pair)
-> Maybe TracingStreamFormat -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (PTracingStart -> Maybe TracingStreamFormat
pTracingStartStreamFormat PTracingStart
p),
(Text
"streamCompression" Text -> TracingStreamCompression -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (TracingStreamCompression -> Pair)
-> Maybe TracingStreamCompression -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (PTracingStart -> Maybe TracingStreamCompression
pTracingStartStreamCompression PTracingStart
p),
(Text
"traceConfig" Text -> TracingTraceConfig -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (TracingTraceConfig -> Pair)
-> Maybe TracingTraceConfig -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (PTracingStart -> Maybe TracingTraceConfig
pTracingStartTraceConfig PTracingStart
p),
(Text
"perfettoConfig" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (PTracingStart -> Maybe Text
pTracingStartPerfettoConfig PTracingStart
p),
(Text
"tracingBackend" Text -> TracingTracingBackend -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (TracingTracingBackend -> Pair)
-> Maybe TracingTracingBackend -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (PTracingStart -> Maybe TracingTracingBackend
pTracingStartTracingBackend PTracingStart
p)
]
instance Command PTracingStart where
type CommandResponse PTracingStart = ()
commandName :: Proxy PTracingStart -> String
commandName Proxy PTracingStart
_ = String
"Tracing.start"
fromJSON :: Proxy PTracingStart
-> Value -> Result (CommandResponse PTracingStart)
fromJSON = Result () -> Value -> Result ()
forall a b. a -> b -> a
const (Result () -> Value -> Result ())
-> (Proxy PTracingStart -> Result ())
-> Proxy PTracingStart
-> Value
-> Result ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Result ()
forall a. a -> Result a
A.Success (() -> Result ())
-> (Proxy PTracingStart -> ()) -> Proxy PTracingStart -> Result ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Proxy PTracingStart -> ()
forall a b. a -> b -> a
const ()