-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Google Cloud Trace SDK.
--   
--   Send and retrieve trace data from Google Cloud Trace. Data is
--   generated and available by default for all App Engine applications.
--   Data from other applications can be written to Cloud Trace for
--   display, reporting, and analysis.
--   
--   <i>Warning:</i> This is an experimental prototype/preview release
--   which is still under exploratory development and not intended for
--   public use, caveat emptor!
--   
--   This library is compatible with version <tt>v1</tt> of the API.
@package gogol-cloudtrace
@version 0.3.0


module Network.Google.CloudTrace.Types

-- | Default request referring to version <tt>v1</tt> of the Google Cloud
--   Trace API. This contains the host and root path used as a starting
--   point for constructing service requests.
cloudTraceService :: ServiceConfig

-- | Write Trace data for a project or application
traceAppendScope :: Proxy '["https://www.googleapis.com/auth/trace.append"]

-- | Read Trace data for a project or application
traceReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/trace.readonly"]

-- | View and manage your data across Google Cloud Platform services
cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]

-- | A generic empty message that you can re-use to avoid defining
--   duplicated empty messages in your APIs. A typical example is to use it
--   as the request or the response type of an API method. For instance:
--   service Foo { rpc Bar(google.protobuf.Empty) returns
--   (google.protobuf.Empty); } The JSON representation for `Empty` is
--   empty JSON object `{}`.
--   
--   <i>See:</i> <a>empty</a> smart constructor.
data Empty

-- | Creates a value of <a>Empty</a> with the minimum fields required to
--   make a request.
empty :: Empty

-- | Collection of labels associated with the span.
--   
--   <i>See:</i> <a>traceSpanLabels</a> smart constructor.
data TraceSpanLabels

-- | Creates a value of <a>TraceSpanLabels</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tslAddtional</a></li>
--   </ul>
traceSpanLabels :: HashMap Text Text -> TraceSpanLabels
tslAddtional :: Lens' TraceSpanLabels (HashMap Text Text)

-- | List of new or updated traces.
--   
--   <i>See:</i> <a>traces</a> smart constructor.
data Traces

-- | Creates a value of <a>Traces</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tTraces</a></li>
--   </ul>
traces :: Traces

-- | List of traces.
tTraces :: Lens' Traces [Trace]

-- | A span represents a single timed event within a trace. Spans can be
--   nested and form a trace tree. Often, a trace contains a root span that
--   describes the end-to-end latency of an operation and, optionally, one
--   or more subspans for its suboperations. Spans do not need to be
--   contiguous. There may be gaps between spans in a trace.
--   
--   <i>See:</i> <a>traceSpan</a> smart constructor.
data TraceSpan

-- | Creates a value of <a>TraceSpan</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tsStartTime</a></li>
--   <li><a>tsKind</a></li>
--   <li><a>tsName</a></li>
--   <li><a>tsEndTime</a></li>
--   <li><a>tsLabels</a></li>
--   <li><a>tsParentSpanId</a></li>
--   <li><a>tsSpanId</a></li>
--   </ul>
traceSpan :: TraceSpan

-- | Start time of the span in nanoseconds from the UNIX epoch.
tsStartTime :: Lens' TraceSpan (Maybe Text)

-- | Distinguishes between spans generated in a particular context. For
--   example, two spans with the same name may be distinguished using
--   `RPC_CLIENT` and `RPC_SERVER` to identify queueing latency associated
--   with the span.
tsKind :: Lens' TraceSpan (Maybe Text)

-- | Name of the trace. The trace name is sanitized and displayed in the
--   Stackdriver Trace tool in the {% dynamic print
--   site_values.console_name %}. The name may be a method name or some
--   other per-call site name. For the same executable and the same call
--   point, a best practice is to use a consistent name, which makes it
--   easier to correlate cross-trace spans.
tsName :: Lens' TraceSpan (Maybe Text)

-- | End time of the span in nanoseconds from the UNIX epoch.
tsEndTime :: Lens' TraceSpan (Maybe Text)

-- | Collection of labels associated with the span.
tsLabels :: Lens' TraceSpan (Maybe TraceSpanLabels)

-- | ID of the parent span, if any. Optional.
tsParentSpanId :: Lens' TraceSpan (Maybe Word64)

-- | Identifier for the span. This identifier must be unique within a
--   trace.
tsSpanId :: Lens' TraceSpan (Maybe Word64)

-- | The response message for the `ListTraces` method.
--   
--   <i>See:</i> <a>listTracesResponse</a> smart constructor.
data ListTracesResponse

-- | Creates a value of <a>ListTracesResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltrNextPageToken</a></li>
--   <li><a>ltrTraces</a></li>
--   </ul>
listTracesResponse :: ListTracesResponse

-- | If defined, indicates that there are more traces that match the
--   request and that this value should be passed to the next request to
--   continue retrieving additional traces.
ltrNextPageToken :: Lens' ListTracesResponse (Maybe Text)

-- | List of trace records returned.
ltrTraces :: Lens' ListTracesResponse [Trace]

-- | A trace describes how long it takes for an application to perform an
--   operation. It consists of a set of spans, each of which represent a
--   single timed event within the operation.
--   
--   <i>See:</i> <a>trace</a> smart constructor.
data Trace

-- | Creates a value of <a>Trace</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tTraceId</a></li>
--   <li><a>tSpans</a></li>
--   <li><a>tProjectId</a></li>
--   </ul>
trace :: Trace

-- | Globally unique identifier for the trace. This identifier is a 128-bit
--   numeric value formatted as a 32-byte hex string.
tTraceId :: Lens' Trace (Maybe Text)

-- | Collection of spans in the trace.
tSpans :: Lens' Trace [TraceSpan]

-- | Project ID of the Cloud project where the trace data is stored.
tProjectId :: Lens' Trace (Maybe Text)


-- | Sends new traces to Stackdriver Trace or updates existing traces. If
--   the ID of a trace that you send matches that of an existing trace, any
--   fields in the existing trace and its spans are overwritten by the
--   provided values, and any new fields provided are merged with the
--   existing trace data. If the ID does not match, a new trace is created.
--   
--   <i>See:</i> <a>Google Cloud Trace API Reference</a> for
--   <tt>cloudtrace.projects.patchTraces</tt>.
module Network.Google.Resource.CloudTrace.Projects.PatchTraces

-- | A resource alias for <tt>cloudtrace.projects.patchTraces</tt> method
--   which the <a>ProjectsPatchTraces</a> request conforms to.
type ProjectsPatchTracesResource = "v1" :> ("projects" :> (Capture "projectId" Text :> ("traces" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Traces :> Patch '[JSON] Empty))))))))))))

-- | Creates a value of <a>ProjectsPatchTraces</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pptXgafv</a></li>
--   <li><a>pptUploadProtocol</a></li>
--   <li><a>pptPp</a></li>
--   <li><a>pptAccessToken</a></li>
--   <li><a>pptUploadType</a></li>
--   <li><a>pptPayload</a></li>
--   <li><a>pptBearerToken</a></li>
--   <li><a>pptProjectId</a></li>
--   <li><a>pptCallback</a></li>
--   </ul>
projectsPatchTraces :: Traces -> Text -> ProjectsPatchTraces

-- | Sends new traces to Stackdriver Trace or updates existing traces. If
--   the ID of a trace that you send matches that of an existing trace, any
--   fields in the existing trace and its spans are overwritten by the
--   provided values, and any new fields provided are merged with the
--   existing trace data. If the ID does not match, a new trace is created.
--   
--   <i>See:</i> <a>projectsPatchTraces</a> smart constructor.
data ProjectsPatchTraces

-- | V1 error format.
pptXgafv :: Lens' ProjectsPatchTraces (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
pptUploadProtocol :: Lens' ProjectsPatchTraces (Maybe Text)

-- | Pretty-print response.
pptPp :: Lens' ProjectsPatchTraces Bool

-- | OAuth access token.
pptAccessToken :: Lens' ProjectsPatchTraces (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
pptUploadType :: Lens' ProjectsPatchTraces (Maybe Text)

-- | Multipart request metadata.
pptPayload :: Lens' ProjectsPatchTraces Traces

-- | OAuth bearer token.
pptBearerToken :: Lens' ProjectsPatchTraces (Maybe Text)

-- | ID of the Cloud project where the trace data is stored.
pptProjectId :: Lens' ProjectsPatchTraces Text

-- | JSONP
pptCallback :: Lens' ProjectsPatchTraces (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.CloudTrace.Projects.PatchTraces.ProjectsPatchTraces
instance Data.Data.Data Network.Google.Resource.CloudTrace.Projects.PatchTraces.ProjectsPatchTraces
instance GHC.Show.Show Network.Google.Resource.CloudTrace.Projects.PatchTraces.ProjectsPatchTraces
instance GHC.Classes.Eq Network.Google.Resource.CloudTrace.Projects.PatchTraces.ProjectsPatchTraces
instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudTrace.Projects.PatchTraces.ProjectsPatchTraces


-- | Gets a single trace by its ID.
--   
--   <i>See:</i> <a>Google Cloud Trace API Reference</a> for
--   <tt>cloudtrace.projects.traces.get</tt>.
module Network.Google.Resource.CloudTrace.Projects.Traces.Get

-- | A resource alias for <tt>cloudtrace.projects.traces.get</tt> method
--   which the <a>ProjectsTracesGet</a> request conforms to.
type ProjectsTracesGetResource = "v1" :> ("projects" :> (Capture "projectId" Text :> ("traces" :> (Capture "traceId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Trace))))))))))))

-- | Creates a value of <a>ProjectsTracesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ptgTraceId</a></li>
--   <li><a>ptgXgafv</a></li>
--   <li><a>ptgUploadProtocol</a></li>
--   <li><a>ptgPp</a></li>
--   <li><a>ptgAccessToken</a></li>
--   <li><a>ptgUploadType</a></li>
--   <li><a>ptgBearerToken</a></li>
--   <li><a>ptgProjectId</a></li>
--   <li><a>ptgCallback</a></li>
--   </ul>
projectsTracesGet :: Text -> Text -> ProjectsTracesGet

-- | Gets a single trace by its ID.
--   
--   <i>See:</i> <a>projectsTracesGet</a> smart constructor.
data ProjectsTracesGet

-- | ID of the trace to return.
ptgTraceId :: Lens' ProjectsTracesGet Text

-- | V1 error format.
ptgXgafv :: Lens' ProjectsTracesGet (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
ptgUploadProtocol :: Lens' ProjectsTracesGet (Maybe Text)

-- | Pretty-print response.
ptgPp :: Lens' ProjectsTracesGet Bool

-- | OAuth access token.
ptgAccessToken :: Lens' ProjectsTracesGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
ptgUploadType :: Lens' ProjectsTracesGet (Maybe Text)

-- | OAuth bearer token.
ptgBearerToken :: Lens' ProjectsTracesGet (Maybe Text)

-- | ID of the Cloud project where the trace data is stored.
ptgProjectId :: Lens' ProjectsTracesGet Text

-- | JSONP
ptgCallback :: Lens' ProjectsTracesGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.CloudTrace.Projects.Traces.Get.ProjectsTracesGet
instance Data.Data.Data Network.Google.Resource.CloudTrace.Projects.Traces.Get.ProjectsTracesGet
instance GHC.Show.Show Network.Google.Resource.CloudTrace.Projects.Traces.Get.ProjectsTracesGet
instance GHC.Classes.Eq Network.Google.Resource.CloudTrace.Projects.Traces.Get.ProjectsTracesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudTrace.Projects.Traces.Get.ProjectsTracesGet


-- | Returns of a list of traces that match the specified filter
--   conditions.
--   
--   <i>See:</i> <a>Google Cloud Trace API Reference</a> for
--   <tt>cloudtrace.projects.traces.list</tt>.
module Network.Google.Resource.CloudTrace.Projects.Traces.List

-- | A resource alias for <tt>cloudtrace.projects.traces.list</tt> method
--   which the <a>ProjectsTracesList</a> request conforms to.
type ProjectsTracesListResource = "v1" :> ("projects" :> (Capture "projectId" Text :> ("traces" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "orderBy" Text :> (QueryParam "startTime" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "endTime" Text :> (QueryParam "view" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListTracesResponse))))))))))))))))))

-- | Creates a value of <a>ProjectsTracesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ptlXgafv</a></li>
--   <li><a>ptlUploadProtocol</a></li>
--   <li><a>ptlOrderBy</a></li>
--   <li><a>ptlStartTime</a></li>
--   <li><a>ptlPp</a></li>
--   <li><a>ptlAccessToken</a></li>
--   <li><a>ptlUploadType</a></li>
--   <li><a>ptlBearerToken</a></li>
--   <li><a>ptlEndTime</a></li>
--   <li><a>ptlView</a></li>
--   <li><a>ptlFilter</a></li>
--   <li><a>ptlPageToken</a></li>
--   <li><a>ptlProjectId</a></li>
--   <li><a>ptlPageSize</a></li>
--   <li><a>ptlCallback</a></li>
--   </ul>
projectsTracesList :: Text -> ProjectsTracesList

-- | Returns of a list of traces that match the specified filter
--   conditions.
--   
--   <i>See:</i> <a>projectsTracesList</a> smart constructor.
data ProjectsTracesList

-- | V1 error format.
ptlXgafv :: Lens' ProjectsTracesList (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
ptlUploadProtocol :: Lens' ProjectsTracesList (Maybe Text)

-- | Field used to sort the returned traces. Optional. Can be one of the
--   following: * `trace_id` * `name` (`name` field of root span in the
--   trace) * `duration` (difference between `end_time` and `start_time`
--   fields of the root span) * `start` (`start_time` field of the root
--   span) Descending order can be specified by appending `desc` to the
--   sort field (for example, `name desc`). Only one sort field is
--   permitted.
ptlOrderBy :: Lens' ProjectsTracesList (Maybe Text)

-- | End of the time interval (inclusive) during which the trace data was
--   collected from the application.
ptlStartTime :: Lens' ProjectsTracesList (Maybe Text)

-- | Pretty-print response.
ptlPp :: Lens' ProjectsTracesList Bool

-- | OAuth access token.
ptlAccessToken :: Lens' ProjectsTracesList (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
ptlUploadType :: Lens' ProjectsTracesList (Maybe Text)

-- | OAuth bearer token.
ptlBearerToken :: Lens' ProjectsTracesList (Maybe Text)

-- | Start of the time interval (inclusive) during which the trace data was
--   collected from the application.
ptlEndTime :: Lens' ProjectsTracesList (Maybe Text)

-- | Type of data returned for traces in the list. Optional. Default is
--   `MINIMAL`.
ptlView :: Lens' ProjectsTracesList (Maybe Text)

-- | An optional filter for the request.
ptlFilter :: Lens' ProjectsTracesList (Maybe Text)

-- | Token identifying the page of results to return. If provided, use the
--   value of the `next_page_token` field from a previous request.
--   Optional.
ptlPageToken :: Lens' ProjectsTracesList (Maybe Text)

-- | ID of the Cloud project where the trace data is stored.
ptlProjectId :: Lens' ProjectsTracesList Text

-- | Maximum number of traces to return. If not specified or &lt;= 0, the
--   implementation selects a reasonable value. The implementation may
--   return fewer traces than the requested page size. Optional.
ptlPageSize :: Lens' ProjectsTracesList (Maybe Int32)

-- | JSONP
ptlCallback :: Lens' ProjectsTracesList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.CloudTrace.Projects.Traces.List.ProjectsTracesList
instance Data.Data.Data Network.Google.Resource.CloudTrace.Projects.Traces.List.ProjectsTracesList
instance GHC.Show.Show Network.Google.Resource.CloudTrace.Projects.Traces.List.ProjectsTracesList
instance GHC.Classes.Eq Network.Google.Resource.CloudTrace.Projects.Traces.List.ProjectsTracesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudTrace.Projects.Traces.List.ProjectsTracesList


-- | Send and retrieve trace data from Google Cloud Trace. Data is
--   generated and available by default for all App Engine applications.
--   Data from other applications can be written to Cloud Trace for
--   display, reporting, and analysis.
--   
--   <i>See:</i> <a>Google Cloud Trace API Reference</a>
module Network.Google.CloudTrace

-- | Default request referring to version <tt>v1</tt> of the Google Cloud
--   Trace API. This contains the host and root path used as a starting
--   point for constructing service requests.
cloudTraceService :: ServiceConfig

-- | Write Trace data for a project or application
traceAppendScope :: Proxy '["https://www.googleapis.com/auth/trace.append"]

-- | Read Trace data for a project or application
traceReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/trace.readonly"]

-- | View and manage your data across Google Cloud Platform services
cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]

-- | Represents the entirety of the methods and resources available for the
--   Google Cloud Trace API service.
type CloudTraceAPI = ProjectsTracesListResource :<|> (ProjectsTracesGetResource :<|> ProjectsPatchTracesResource)

-- | A generic empty message that you can re-use to avoid defining
--   duplicated empty messages in your APIs. A typical example is to use it
--   as the request or the response type of an API method. For instance:
--   service Foo { rpc Bar(google.protobuf.Empty) returns
--   (google.protobuf.Empty); } The JSON representation for `Empty` is
--   empty JSON object `{}`.
--   
--   <i>See:</i> <a>empty</a> smart constructor.
data Empty

-- | Creates a value of <a>Empty</a> with the minimum fields required to
--   make a request.
empty :: Empty

-- | Collection of labels associated with the span.
--   
--   <i>See:</i> <a>traceSpanLabels</a> smart constructor.
data TraceSpanLabels

-- | Creates a value of <a>TraceSpanLabels</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tslAddtional</a></li>
--   </ul>
traceSpanLabels :: HashMap Text Text -> TraceSpanLabels
tslAddtional :: Lens' TraceSpanLabels (HashMap Text Text)

-- | List of new or updated traces.
--   
--   <i>See:</i> <a>traces</a> smart constructor.
data Traces

-- | Creates a value of <a>Traces</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tTraces</a></li>
--   </ul>
traces :: Traces

-- | List of traces.
tTraces :: Lens' Traces [Trace]

-- | A span represents a single timed event within a trace. Spans can be
--   nested and form a trace tree. Often, a trace contains a root span that
--   describes the end-to-end latency of an operation and, optionally, one
--   or more subspans for its suboperations. Spans do not need to be
--   contiguous. There may be gaps between spans in a trace.
--   
--   <i>See:</i> <a>traceSpan</a> smart constructor.
data TraceSpan

-- | Creates a value of <a>TraceSpan</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tsStartTime</a></li>
--   <li><a>tsKind</a></li>
--   <li><a>tsName</a></li>
--   <li><a>tsEndTime</a></li>
--   <li><a>tsLabels</a></li>
--   <li><a>tsParentSpanId</a></li>
--   <li><a>tsSpanId</a></li>
--   </ul>
traceSpan :: TraceSpan

-- | Start time of the span in nanoseconds from the UNIX epoch.
tsStartTime :: Lens' TraceSpan (Maybe Text)

-- | Distinguishes between spans generated in a particular context. For
--   example, two spans with the same name may be distinguished using
--   `RPC_CLIENT` and `RPC_SERVER` to identify queueing latency associated
--   with the span.
tsKind :: Lens' TraceSpan (Maybe Text)

-- | Name of the trace. The trace name is sanitized and displayed in the
--   Stackdriver Trace tool in the {% dynamic print
--   site_values.console_name %}. The name may be a method name or some
--   other per-call site name. For the same executable and the same call
--   point, a best practice is to use a consistent name, which makes it
--   easier to correlate cross-trace spans.
tsName :: Lens' TraceSpan (Maybe Text)

-- | End time of the span in nanoseconds from the UNIX epoch.
tsEndTime :: Lens' TraceSpan (Maybe Text)

-- | Collection of labels associated with the span.
tsLabels :: Lens' TraceSpan (Maybe TraceSpanLabels)

-- | ID of the parent span, if any. Optional.
tsParentSpanId :: Lens' TraceSpan (Maybe Word64)

-- | Identifier for the span. This identifier must be unique within a
--   trace.
tsSpanId :: Lens' TraceSpan (Maybe Word64)

-- | The response message for the `ListTraces` method.
--   
--   <i>See:</i> <a>listTracesResponse</a> smart constructor.
data ListTracesResponse

-- | Creates a value of <a>ListTracesResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltrNextPageToken</a></li>
--   <li><a>ltrTraces</a></li>
--   </ul>
listTracesResponse :: ListTracesResponse

-- | If defined, indicates that there are more traces that match the
--   request and that this value should be passed to the next request to
--   continue retrieving additional traces.
ltrNextPageToken :: Lens' ListTracesResponse (Maybe Text)

-- | List of trace records returned.
ltrTraces :: Lens' ListTracesResponse [Trace]

-- | A trace describes how long it takes for an application to perform an
--   operation. It consists of a set of spans, each of which represent a
--   single timed event within the operation.
--   
--   <i>See:</i> <a>trace</a> smart constructor.
data Trace

-- | Creates a value of <a>Trace</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tTraceId</a></li>
--   <li><a>tSpans</a></li>
--   <li><a>tProjectId</a></li>
--   </ul>
trace :: Trace

-- | Globally unique identifier for the trace. This identifier is a 128-bit
--   numeric value formatted as a 32-byte hex string.
tTraceId :: Lens' Trace (Maybe Text)

-- | Collection of spans in the trace.
tSpans :: Lens' Trace [TraceSpan]

-- | Project ID of the Cloud project where the trace data is stored.
tProjectId :: Lens' Trace (Maybe Text)
