Index: generated/googleapis/lib/tracing/v1.dart |
diff --git a/generated/googleapis/lib/tracing/v1.dart b/generated/googleapis/lib/tracing/v1.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c76ca512d6d98daf5a55854b70c23d168c257098 |
--- /dev/null |
+++ b/generated/googleapis/lib/tracing/v1.dart |
@@ -0,0 +1,1069 @@ |
+// This is a generated file (see the discoveryapis_generator project). |
+ |
+library googleapis.tracing.v1; |
+ |
+import 'dart:core' as core; |
+import 'dart:async' as async; |
+import 'dart:convert' as convert; |
+ |
+import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; |
+import 'package:http/http.dart' as http; |
+ |
+export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show |
+ ApiRequestError, DetailedApiRequestError; |
+ |
+const core.String USER_AGENT = 'dart-api-client tracing/v1'; |
+ |
+/** Send and retrieve trace data from Google Stackdriver Trace. */ |
+class TracingApi { |
+ /** View and manage your data across Google Cloud Platform services */ |
+ static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"; |
+ |
+ /** Write Trace data for a project or application */ |
+ static const TraceAppendScope = "https://www.googleapis.com/auth/trace.append"; |
+ |
+ /** Read Trace data for a project or application */ |
+ static const TraceReadonlyScope = "https://www.googleapis.com/auth/trace.readonly"; |
+ |
+ |
+ final commons.ApiRequester _requester; |
+ |
+ ProjectsResourceApi get projects => new ProjectsResourceApi(_requester); |
+ |
+ TracingApi(http.Client client, {core.String rootUrl: "https://tracing.googleapis.com/", core.String servicePath: ""}) : |
+ _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT); |
+} |
+ |
+ |
+class ProjectsResourceApi { |
+ final commons.ApiRequester _requester; |
+ |
+ ProjectsTracesResourceApi get traces => new ProjectsTracesResourceApi(_requester); |
+ |
+ ProjectsResourceApi(commons.ApiRequester client) : |
+ _requester = client; |
+} |
+ |
+ |
+class ProjectsTracesResourceApi { |
+ final commons.ApiRequester _requester; |
+ |
+ ProjectsTracesResourceApi(commons.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Sends new spans to Stackdriver Trace or updates existing spans. If the |
+ * name 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 |
+ * name does not match, a new trace is created with given set of spans. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [parent] - ID of the Cloud project where the trace data is stored. |
+ * Value must have pattern "^projects/[^/]+$". |
+ * |
+ * Completes with a [Empty]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Empty> batchUpdate(BatchUpdateSpansRequest request, core.String parent) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (parent == null) { |
+ throw new core.ArgumentError("Parameter parent is required."); |
+ } |
+ |
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/traces:batchUpdate'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Empty.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Returns a specific trace. |
+ * |
+ * Request parameters: |
+ * |
+ * [name] - ID of the trace which is |
+ * "projects/<project_id>/traces/<trace_id>". |
+ * Value must have pattern "^projects/[^/]+/traces/[^/]+$". |
+ * |
+ * Completes with a [Trace]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Trace> get(core.String name) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (name == null) { |
+ throw new core.ArgumentError("Parameter name is required."); |
+ } |
+ |
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Trace.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Returns of a list of traces that match the specified filter conditions. |
+ * |
+ * Request parameters: |
+ * |
+ * [parent] - ID of the Cloud project where the trace data is stored. |
+ * Value must have pattern "^projects/[^/]+$". |
+ * |
+ * [pageSize] - Maximum number of traces to return. If not specified or <= 0, |
+ * the |
+ * implementation selects a reasonable value. The implementation may |
+ * return fewer traces than the requested page size. Optional. |
+ * |
+ * [orderBy] - 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. |
+ * |
+ * [filter] - An optional filter for the request. |
+ * Example: |
+ * "version_label_key:a some_label:some_label_key" |
+ * returns traces from version a and has some_label with some_label_key. |
+ * |
+ * [endTime] - End of the time interval (inclusive) during which the trace |
+ * data was |
+ * collected from the application. |
+ * |
+ * [pageToken] - Token identifying the page of results to return. If provided, |
+ * use the |
+ * value of the `next_page_token` field from a previous request. Optional. |
+ * |
+ * [startTime] - Start of the time interval (inclusive) during which the trace |
+ * data was |
+ * collected from the application. |
+ * |
+ * Completes with a [ListTracesResponse]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<ListTracesResponse> list(core.String parent, {core.int pageSize, core.String orderBy, core.String filter, core.String endTime, core.String pageToken, core.String startTime}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (parent == null) { |
+ throw new core.ArgumentError("Parameter parent is required."); |
+ } |
+ if (pageSize != null) { |
+ _queryParams["pageSize"] = ["${pageSize}"]; |
+ } |
+ if (orderBy != null) { |
+ _queryParams["orderBy"] = [orderBy]; |
+ } |
+ if (filter != null) { |
+ _queryParams["filter"] = [filter]; |
+ } |
+ if (endTime != null) { |
+ _queryParams["endTime"] = [endTime]; |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ if (startTime != null) { |
+ _queryParams["startTime"] = [startTime]; |
+ } |
+ |
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$parent') + '/traces'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ListTracesResponse.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Returns a list of spans within a trace. |
+ * |
+ * Request parameters: |
+ * |
+ * [name] - ID of the span set where is |
+ * "projects/<project_id>/traces/<trace_id>". |
+ * Value must have pattern "^projects/[^/]+/traces/[^/]+$". |
+ * |
+ * [pageToken] - Token identifying the page of results to return. If provided, |
+ * use the |
+ * value of the `page_token` field from a previous request. Optional. |
+ * |
+ * Completes with a [ListSpansResponse]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<ListSpansResponse> listSpans(core.String name, {core.String pageToken}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (name == null) { |
+ throw new core.ArgumentError("Parameter name is required."); |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ |
+ _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + ':listSpans'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ListSpansResponse.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+ |
+/** Text annotation with a set of attributes. */ |
+class Annotation { |
+ /** A set of attributes on the annotation. */ |
+ core.Map<core.String, AttributeValue> attributes; |
+ /** A user-supplied message describing the event. */ |
+ core.String description; |
+ |
+ Annotation(); |
+ |
+ Annotation.fromJson(core.Map _json) { |
+ if (_json.containsKey("attributes")) { |
+ attributes = commons.mapMap(_json["attributes"], (item) => new AttributeValue.fromJson(item)); |
+ } |
+ if (_json.containsKey("description")) { |
+ description = _json["description"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (attributes != null) { |
+ _json["attributes"] = commons.mapMap(attributes, (item) => (item).toJson()); |
+ } |
+ if (description != null) { |
+ _json["description"] = description; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Allowed attribute values. */ |
+class AttributeValue { |
+ /** A boolean value. */ |
+ core.bool boolValue; |
+ /** An integer value. */ |
+ core.String intValue; |
+ /** A string value. */ |
+ core.String stringValue; |
+ |
+ AttributeValue(); |
+ |
+ AttributeValue.fromJson(core.Map _json) { |
+ if (_json.containsKey("boolValue")) { |
+ boolValue = _json["boolValue"]; |
+ } |
+ if (_json.containsKey("intValue")) { |
+ intValue = _json["intValue"]; |
+ } |
+ if (_json.containsKey("stringValue")) { |
+ stringValue = _json["stringValue"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (boolValue != null) { |
+ _json["boolValue"] = boolValue; |
+ } |
+ if (intValue != null) { |
+ _json["intValue"] = intValue; |
+ } |
+ if (stringValue != null) { |
+ _json["stringValue"] = stringValue; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** The request message for the `BatchUpdateSpans` method. */ |
+class BatchUpdateSpansRequest { |
+ /** A map from trace name to spans to be stored or updated. */ |
+ core.Map<core.String, SpanUpdates> spanUpdates; |
+ |
+ BatchUpdateSpansRequest(); |
+ |
+ BatchUpdateSpansRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("spanUpdates")) { |
+ spanUpdates = commons.mapMap(_json["spanUpdates"], (item) => new SpanUpdates.fromJson(item)); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (spanUpdates != null) { |
+ _json["spanUpdates"] = commons.mapMap(spanUpdates, (item) => (item).toJson()); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * 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 `{}`. |
+ */ |
+class Empty { |
+ |
+ Empty(); |
+ |
+ Empty.fromJson(core.Map _json) { |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * Link one span with another which may be in a different Trace. Used (for |
+ * example) in batching operations, where a single batch handler processes |
+ * multiple requests from different traces. |
+ */ |
+class Link { |
+ /** The span identifier of the linked span. */ |
+ core.String spanId; |
+ /** The trace identifier of the linked span. */ |
+ core.String traceId; |
+ /** |
+ * The type of the link. |
+ * Possible string values are: |
+ * - "TYPE_UNSPECIFIED" : The relation of current span and linked span is |
+ * unknown. |
+ * - "CHILD" : Current span is child of the linked span. |
+ * - "PARENT" : Current span is parent of the linked span. |
+ */ |
+ core.String type; |
+ |
+ Link(); |
+ |
+ Link.fromJson(core.Map _json) { |
+ if (_json.containsKey("spanId")) { |
+ spanId = _json["spanId"]; |
+ } |
+ if (_json.containsKey("traceId")) { |
+ traceId = _json["traceId"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (spanId != null) { |
+ _json["spanId"] = spanId; |
+ } |
+ if (traceId != null) { |
+ _json["traceId"] = traceId; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** The response message for the 'ListSpans' method. */ |
+class ListSpansResponse { |
+ /** |
+ * If defined, indicates that there are more spans that match the request |
+ * and that this value should be passed to the next request to continue |
+ * retrieving additional spans. |
+ */ |
+ core.String nextPageToken; |
+ /** The requested spans if they are any in the specified trace. */ |
+ core.List<Span> spans; |
+ |
+ ListSpansResponse(); |
+ |
+ ListSpansResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("nextPageToken")) { |
+ nextPageToken = _json["nextPageToken"]; |
+ } |
+ if (_json.containsKey("spans")) { |
+ spans = _json["spans"].map((value) => new Span.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (nextPageToken != null) { |
+ _json["nextPageToken"] = nextPageToken; |
+ } |
+ if (spans != null) { |
+ _json["spans"] = spans.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** The response message for the `ListTraces` method. */ |
+class 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. |
+ */ |
+ core.String nextPageToken; |
+ /** List of trace records returned. */ |
+ core.List<Trace> traces; |
+ |
+ ListTracesResponse(); |
+ |
+ ListTracesResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("nextPageToken")) { |
+ nextPageToken = _json["nextPageToken"]; |
+ } |
+ if (_json.containsKey("traces")) { |
+ traces = _json["traces"].map((value) => new Trace.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (nextPageToken != null) { |
+ _json["nextPageToken"] = nextPageToken; |
+ } |
+ if (traces != null) { |
+ _json["traces"] = traces.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Binary module. */ |
+class Module { |
+ /** |
+ * Build_id is a unique identifier for the module, |
+ * usually a hash of its contents |
+ */ |
+ core.String buildId; |
+ /** |
+ * E.g. main binary, kernel modules, and dynamic libraries |
+ * such as libc.so, sharedlib.so |
+ */ |
+ core.String module; |
+ |
+ Module(); |
+ |
+ Module.fromJson(core.Map _json) { |
+ if (_json.containsKey("buildId")) { |
+ buildId = _json["buildId"]; |
+ } |
+ if (_json.containsKey("module")) { |
+ module = _json["module"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (buildId != null) { |
+ _json["buildId"] = buildId; |
+ } |
+ if (module != null) { |
+ _json["module"] = module; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** An event describing an RPC message sent/received on the network. */ |
+class NetworkEvent { |
+ /** |
+ * If available, this is the kernel time: |
+ * For sent messages, this is the time at which the first bit was sent. |
+ * For received messages, this is the time at which the last bit was |
+ * received. |
+ */ |
+ core.String kernelTime; |
+ /** |
+ * Every message has an identifier, which must be different from all the |
+ * network messages in this span. |
+ * This is especially important when the request/response are streamed. |
+ */ |
+ core.String messageId; |
+ /** Number of bytes send/receive. */ |
+ core.String messageSize; |
+ /** |
+ * Type of a NetworkEvent. |
+ * Possible string values are: |
+ * - "TYPE_UNSPECIFIED" : Unknown event. |
+ * - "SENT" : Event type for sending RPC message. |
+ * - "RECV" : Event type for receiving RPC message. |
+ */ |
+ core.String type; |
+ |
+ NetworkEvent(); |
+ |
+ NetworkEvent.fromJson(core.Map _json) { |
+ if (_json.containsKey("kernelTime")) { |
+ kernelTime = _json["kernelTime"]; |
+ } |
+ if (_json.containsKey("messageId")) { |
+ messageId = _json["messageId"]; |
+ } |
+ if (_json.containsKey("messageSize")) { |
+ messageSize = _json["messageSize"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (kernelTime != null) { |
+ _json["kernelTime"] = kernelTime; |
+ } |
+ if (messageId != null) { |
+ _json["messageId"] = messageId; |
+ } |
+ if (messageSize != null) { |
+ _json["messageSize"] = messageSize; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * A span represents a single operation 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 and, optionally, one or more subspans for |
+ * its sub-operations. Spans do not need to be contiguous. There may be gaps |
+ * between spans in a trace. |
+ */ |
+class Span { |
+ /** |
+ * Properties of a span. Attributes at the span level. |
+ * E.g. |
+ * "/instance_id": "my-instance" |
+ * "/zone": "us-central1-a" |
+ * "/grpc/peer_address": "ip:port" (dns, etc.) |
+ * "/grpc/deadline": "Duration" |
+ * "/http/user_agent" |
+ * "/http/request_bytes": 300 |
+ * "/http/response_bytes": 1200 |
+ * "/http/url": google.com/apis |
+ * "/pid" |
+ * "abc.com/myattribute": "my attribute value" |
+ * |
+ * Maximum length for attribute key is 128 characters, for string attribute |
+ * value is 2K characters. |
+ */ |
+ core.Map<core.String, AttributeValue> attributes; |
+ /** True if this Span has a remote parent (is an RPC server Span). */ |
+ core.bool hasRemoteParent; |
+ /** |
+ * Identifier for the span. Must be a 64-bit integer other than 0 and |
+ * unique within a trace. |
+ */ |
+ core.String id; |
+ /** A collection of links. */ |
+ core.List<Link> links; |
+ /** |
+ * Local machine clock time from the UNIX epoch, |
+ * at which span execution ended. |
+ * On the server side these are the times when the server application |
+ * handler finishes running. |
+ */ |
+ core.String localEndTime; |
+ /** |
+ * Local machine clock time from the UNIX epoch, |
+ * at which span execution started. |
+ * On the server side these are the times when the server application |
+ * handler starts running. |
+ */ |
+ core.String localStartTime; |
+ /** |
+ * Name of the span. The span 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. |
+ */ |
+ core.String name; |
+ /** ID of parent span. 0 or missing if this is a root span. */ |
+ core.String parentId; |
+ /** Stack trace captured at the start of the span. This is optional. */ |
+ StackTrace stackTrace; |
+ /** The final status of the Span. This is optional. */ |
+ Status status; |
+ /** A collection of time-stamped events. */ |
+ core.List<TimeEvent> timeEvents; |
+ |
+ Span(); |
+ |
+ Span.fromJson(core.Map _json) { |
+ if (_json.containsKey("attributes")) { |
+ attributes = commons.mapMap(_json["attributes"], (item) => new AttributeValue.fromJson(item)); |
+ } |
+ if (_json.containsKey("hasRemoteParent")) { |
+ hasRemoteParent = _json["hasRemoteParent"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("links")) { |
+ links = _json["links"].map((value) => new Link.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("localEndTime")) { |
+ localEndTime = _json["localEndTime"]; |
+ } |
+ if (_json.containsKey("localStartTime")) { |
+ localStartTime = _json["localStartTime"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("parentId")) { |
+ parentId = _json["parentId"]; |
+ } |
+ if (_json.containsKey("stackTrace")) { |
+ stackTrace = new StackTrace.fromJson(_json["stackTrace"]); |
+ } |
+ if (_json.containsKey("status")) { |
+ status = new Status.fromJson(_json["status"]); |
+ } |
+ if (_json.containsKey("timeEvents")) { |
+ timeEvents = _json["timeEvents"].map((value) => new TimeEvent.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (attributes != null) { |
+ _json["attributes"] = commons.mapMap(attributes, (item) => (item).toJson()); |
+ } |
+ if (hasRemoteParent != null) { |
+ _json["hasRemoteParent"] = hasRemoteParent; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (links != null) { |
+ _json["links"] = links.map((value) => (value).toJson()).toList(); |
+ } |
+ if (localEndTime != null) { |
+ _json["localEndTime"] = localEndTime; |
+ } |
+ if (localStartTime != null) { |
+ _json["localStartTime"] = localStartTime; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (parentId != null) { |
+ _json["parentId"] = parentId; |
+ } |
+ if (stackTrace != null) { |
+ _json["stackTrace"] = (stackTrace).toJson(); |
+ } |
+ if (status != null) { |
+ _json["status"] = (status).toJson(); |
+ } |
+ if (timeEvents != null) { |
+ _json["timeEvents"] = timeEvents.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Collection of spans to update. */ |
+class SpanUpdates { |
+ /** A collection of spans. */ |
+ core.List<Span> spans; |
+ |
+ SpanUpdates(); |
+ |
+ SpanUpdates.fromJson(core.Map _json) { |
+ if (_json.containsKey("spans")) { |
+ spans = _json["spans"].map((value) => new Span.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (spans != null) { |
+ _json["spans"] = spans.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Presents a single stack frame in a stack trace. */ |
+class StackFrame { |
+ /** |
+ * Column number is important in JavaScript(anonymous functions), |
+ * Might not be available in some languages. |
+ */ |
+ core.String columnNumber; |
+ /** File name of the frame. */ |
+ core.String fileName; |
+ /** Fully qualified names which uniquely identify function/method/etc. */ |
+ core.String functionName; |
+ /** Line number of the frame. */ |
+ core.String lineNumber; |
+ /** Binary module the code is loaded from. */ |
+ Module loadModule; |
+ /** |
+ * Used when function name is ‘mangled’. Not guaranteed to be fully |
+ * qualified but usually it is. |
+ */ |
+ core.String originalFunctionName; |
+ /** |
+ * source_version is deployment specific. It might be |
+ * better to be stored in deployment metadata. |
+ */ |
+ core.String sourceVersion; |
+ |
+ StackFrame(); |
+ |
+ StackFrame.fromJson(core.Map _json) { |
+ if (_json.containsKey("columnNumber")) { |
+ columnNumber = _json["columnNumber"]; |
+ } |
+ if (_json.containsKey("fileName")) { |
+ fileName = _json["fileName"]; |
+ } |
+ if (_json.containsKey("functionName")) { |
+ functionName = _json["functionName"]; |
+ } |
+ if (_json.containsKey("lineNumber")) { |
+ lineNumber = _json["lineNumber"]; |
+ } |
+ if (_json.containsKey("loadModule")) { |
+ loadModule = new Module.fromJson(_json["loadModule"]); |
+ } |
+ if (_json.containsKey("originalFunctionName")) { |
+ originalFunctionName = _json["originalFunctionName"]; |
+ } |
+ if (_json.containsKey("sourceVersion")) { |
+ sourceVersion = _json["sourceVersion"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (columnNumber != null) { |
+ _json["columnNumber"] = columnNumber; |
+ } |
+ if (fileName != null) { |
+ _json["fileName"] = fileName; |
+ } |
+ if (functionName != null) { |
+ _json["functionName"] = functionName; |
+ } |
+ if (lineNumber != null) { |
+ _json["lineNumber"] = lineNumber; |
+ } |
+ if (loadModule != null) { |
+ _json["loadModule"] = (loadModule).toJson(); |
+ } |
+ if (originalFunctionName != null) { |
+ _json["originalFunctionName"] = originalFunctionName; |
+ } |
+ if (sourceVersion != null) { |
+ _json["sourceVersion"] = sourceVersion; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** StackTrace collected in a trace. */ |
+class StackTrace { |
+ /** Stack frames of this stack trace. */ |
+ core.List<StackFrame> stackFrame; |
+ /** |
+ * User can choose to use their own hash function to hash large attributes to |
+ * save network bandwidth and storage. |
+ * Typical usage is to pass both stack_frame and stack_trace_hash_id initially |
+ * to inform the storage of the mapping. And in subsequent calls, pass in |
+ * stack_trace_hash_id only. User shall verify the hash value is |
+ * successfully stored. |
+ */ |
+ core.String stackTraceHashId; |
+ |
+ StackTrace(); |
+ |
+ StackTrace.fromJson(core.Map _json) { |
+ if (_json.containsKey("stackFrame")) { |
+ stackFrame = _json["stackFrame"].map((value) => new StackFrame.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("stackTraceHashId")) { |
+ stackTraceHashId = _json["stackTraceHashId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (stackFrame != null) { |
+ _json["stackFrame"] = stackFrame.map((value) => (value).toJson()).toList(); |
+ } |
+ if (stackTraceHashId != null) { |
+ _json["stackTraceHashId"] = stackTraceHashId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * The `Status` type defines a logical error model that is suitable for |
+ * different |
+ * programming environments, including REST APIs and RPC APIs. It is used by |
+ * [gRPC](https://github.com/grpc). The error model is designed to be: |
+ * |
+ * - Simple to use and understand for most users |
+ * - Flexible enough to meet unexpected needs |
+ * |
+ * # Overview |
+ * |
+ * The `Status` message contains three pieces of data: error code, error |
+ * message, |
+ * and error details. The error code should be an enum value of |
+ * google.rpc.Code, but it may accept additional error codes if needed. The |
+ * error message should be a developer-facing English message that helps |
+ * developers *understand* and *resolve* the error. If a localized user-facing |
+ * error message is needed, put the localized message in the error details or |
+ * localize it in the client. The optional error details may contain arbitrary |
+ * information about the error. There is a predefined set of error detail types |
+ * in the package `google.rpc` which can be used for common error conditions. |
+ * |
+ * # Language mapping |
+ * |
+ * The `Status` message is the logical representation of the error model, but it |
+ * is not necessarily the actual wire format. When the `Status` message is |
+ * exposed in different client libraries and different wire protocols, it can be |
+ * mapped differently. For example, it will likely be mapped to some exceptions |
+ * in Java, but more likely mapped to some error codes in C. |
+ * |
+ * # Other uses |
+ * |
+ * The error model and the `Status` message can be used in a variety of |
+ * environments, either with or without APIs, to provide a |
+ * consistent developer experience across different environments. |
+ * |
+ * Example uses of this error model include: |
+ * |
+ * - Partial errors. If a service needs to return partial errors to the client, |
+ * it may embed the `Status` in the normal response to indicate the partial |
+ * errors. |
+ * |
+ * - Workflow errors. A typical workflow has multiple steps. Each step may |
+ * have a `Status` message for error reporting purpose. |
+ * |
+ * - Batch operations. If a client uses batch request and batch response, the |
+ * `Status` message should be used directly inside batch response, one for |
+ * each error sub-response. |
+ * |
+ * - Asynchronous operations. If an API call embeds asynchronous operation |
+ * results in its response, the status of those operations should be |
+ * represented directly using the `Status` message. |
+ * |
+ * - Logging. If some API errors are stored in logs, the message `Status` could |
+ * be used directly after any stripping needed for security/privacy reasons. |
+ */ |
+class Status { |
+ /** The status code, which should be an enum value of google.rpc.Code. */ |
+ core.int code; |
+ /** |
+ * A list of messages that carry the error details. There will be a |
+ * common set of message types for APIs to use. |
+ * |
+ * The values for Object must be JSON objects. It can consist of `num`, |
+ * `String`, `bool` and `null` as well as `Map` and `List` values. |
+ */ |
+ core.List<core.Map<core.String, core.Object>> details; |
+ /** |
+ * A developer-facing error message, which should be in English. Any |
+ * user-facing error message should be localized and sent in the |
+ * google.rpc.Status.details field, or localized by the client. |
+ */ |
+ core.String message; |
+ |
+ Status(); |
+ |
+ Status.fromJson(core.Map _json) { |
+ if (_json.containsKey("code")) { |
+ code = _json["code"]; |
+ } |
+ if (_json.containsKey("details")) { |
+ details = _json["details"]; |
+ } |
+ if (_json.containsKey("message")) { |
+ message = _json["message"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (code != null) { |
+ _json["code"] = code; |
+ } |
+ if (details != null) { |
+ _json["details"] = details; |
+ } |
+ if (message != null) { |
+ _json["message"] = message; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** A time-stamped annotation in the Span. */ |
+class TimeEvent { |
+ /** Optional field for user supplied <string, AttributeValue> map */ |
+ Annotation annotation; |
+ /** The local machine absolute timestamp when this event happened. */ |
+ core.String localTime; |
+ /** Optional field that can be used only for network events. */ |
+ NetworkEvent networkEvent; |
+ |
+ TimeEvent(); |
+ |
+ TimeEvent.fromJson(core.Map _json) { |
+ if (_json.containsKey("annotation")) { |
+ annotation = new Annotation.fromJson(_json["annotation"]); |
+ } |
+ if (_json.containsKey("localTime")) { |
+ localTime = _json["localTime"]; |
+ } |
+ if (_json.containsKey("networkEvent")) { |
+ networkEvent = new NetworkEvent.fromJson(_json["networkEvent"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (annotation != null) { |
+ _json["annotation"] = (annotation).toJson(); |
+ } |
+ if (localTime != null) { |
+ _json["localTime"] = localTime; |
+ } |
+ if (networkEvent != null) { |
+ _json["networkEvent"] = (networkEvent).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * A trace describes how long it takes for an application to perform some |
+ * operations. It consists of a set of spans, each of which contains details |
+ * about an operation with time information and operation details. |
+ */ |
+class Trace { |
+ /** |
+ * ID of the trace which is "projects/<project_id>/traces/<trace_id>". |
+ * trace_id is globally unique identifier for the trace. Common to all the |
+ * spans. It is conceptually a 128-bit hex-encoded value. |
+ */ |
+ core.String name; |
+ |
+ Trace(); |
+ |
+ Trace.fromJson(core.Map _json) { |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ return _json; |
+ } |
+} |