TrackEvent class
Trace events emitted by client instrumentation library (TRACE_EVENT macros), which describe activity on a track, such as a thread or asynchronous event track. The track is specified using separate TrackDescriptor messages and referred to via the track's UUID.
A simple TrackEvent packet specifies a timestamp, category, name and type:
trace_packet {
timestamp: 1000
track_event {
categories: ["my_cat"]
name: "my_event"
type: TYPE_INSTANT
}
}
To associate an event with a custom track (e.g. a thread), the track is defined in a separate packet and referred to from the TrackEvent by its UUID:
trace_packet {
track_descriptor {
track_uuid: 1234
name: "my_track"
// Optionally, associate the track with a thread.
thread_descriptor {
pid: 10
tid: 10
..
}
}
}
A pair of TYPE_SLICE_BEGIN and _END events form a slice on the track:
trace_packet {
timestamp: 1200
track_event {
track_uuid: 1234
categories: ["my_cat"]
name: "my_slice"
type: TYPE_SLICE_BEGIN
}
}
trace_packet {
timestamp: 1400
track_event {
track_uuid: 1234
type: TYPE_SLICE_END
}
}
TrackEvents also support optimizations to reduce data repetition and encoded data size, e.g. through data interning (names, categories, ...) and delta encoding of timestamps/counters. For details, see the InternedData message. Further, default values for attributes of events on the same sequence (e.g. their default track association) can be emitted as part of a TrackEventDefaults message.
Next reserved id: 13 (up to 15). Next id: 50.
- Inheritance
-
- Object
- GeneratedMessage
- TrackEvent
- Available extensions
Constructors
-
TrackEvent.new({Iterable<
Int64> ? categoryIids, Iterable<DebugAnnotation> ? debugAnnotations, TrackEvent_Type? type, Int64? nameIid, Int64? trackUuid, Iterable<String> ? categories, String? name, Iterable<Int64> ? flowIds, Iterable<Int64> ? terminatingFlowIds}) -
factory
-
TrackEvent.fromBuffer(List<
int> i, [ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) -
factory
- TrackEvent.fromJson(String i, [ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY])
-
factory
Properties
-
categories
→ PbList<
String> -
non-interned variant.
no setter
-
categoryIids
→ PbList<
Int64> -
Names of categories of the event. In the client library, categories are a
way to turn groups of individual events on or off.
interned EventCategoryName.
no setter
-
debugAnnotations
→ PbList<
DebugAnnotation> -
Unstable key/value annotations shown in the trace viewer but not intended
for metrics use.
no setter
-
flowIds
→ PbList<
Int64> -
IDs of flows originating, passing through, or ending at this event.
Flow IDs are global within a trace.
no setter
- hashCode → int
-
Calculates a hash code based on the contents of the protobuf.
no setterinherited
- info_ → BuilderInfo
-
no setteroverride
- isFrozen → bool
-
Returns
true
if this message is marked read-only. Otherwisefalse
.no setterinherited - name ↔ String
-
non-interned variant.
getter/setter pair
- nameIid ↔ Int64
-
interned EventName.
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
terminatingFlowIds
→ PbList<
Int64> -
List of flow ids which should terminate on this event, otherwise same as
|flow_ids|.
Any one flow ID should be either listed as part of |flow_ids| OR
|terminating_flow_ids|, not both.
no setter
- trackUuid ↔ Int64
-
Identifies the track of the event. The default value may be overridden
using TrackEventDefaults, e.g., to specify the track of the TraceWriter's
sequence (in most cases sequence = one thread). If no value is specified
here or in TrackEventDefaults, the TrackEvent will be associated with an
implicit trace-global track (uuid 0). See TrackDescriptor::uuid.
getter/setter pair
- type ↔ TrackEvent_Type
-
getter/setter pair
- unknownFields → UnknownFieldSet
-
no setterinherited
Methods
-
addExtension(
Extension extension, Object? value) → void -
Adds an extension field value to a repeated field.
inherited
-
check(
) → void -
Throws a StateError if the message has required fields without a value.
inherited
-
clear(
) → void -
Clears all data that was set in this message.
inherited
-
clearExtension(
Extension extension) → void -
Clears an extension field and also removes the extension.
inherited
-
clearField(
int tagNumber) → void -
Clears the contents of a given field.
inherited
-
clearName(
) → void -
clearNameField(
) → void -
clearNameIid(
) → void -
clearTrackUuid(
) → void -
clearType(
) → void -
clone(
) → TrackEvent -
Creates a deep copy of the fields in this message.
(The generated code uses mergeFromMessage.)
override
-
copyWith(
void updates(TrackEvent)) → TrackEvent -
Apply
updates
to a copy of this message.override -
createEmptyInstance(
) → TrackEvent -
Creates an empty instance of the same message type as this.
override
-
deepCopy(
) → T -
Available on T, provided by the GeneratedMessageGenericExtensions extension
Returns a writable deep copy of this message. -
extensionsAreInitialized(
) → bool -
inherited
-
freeze(
) → GeneratedMessage -
Make this message read-only.
inherited
-
getDefaultForField(
int tagNumber) → dynamic -
Returns the default value for the given field.
inherited
-
getExtension(
Extension extension) → dynamic -
Returns the value of
extension
.inherited -
getField(
int tagNumber) → dynamic -
Returns the value of the field associated with
tagNumber
, or the default value if it is not set.inherited -
getFieldOrNull(
int tagNumber) → dynamic -
Returns the value of a field, ignoring any defaults.
inherited
-
getTagNumber(
String fieldName) → int? -
inherited
-
hasExtension(
Extension extension) → bool -
Returns
true
if a value ofextension
is present.inherited -
hasField(
int tagNumber) → bool -
Whether this message has a field associated with
tagNumber
.inherited -
hasName(
) → bool -
hasNameIid(
) → bool -
hasRequiredFields(
) → bool -
Whether the message has required fields.
inherited
-
hasTrackUuid(
) → bool -
hasType(
) → bool -
isInitialized(
) → bool -
Whether all required fields in the message and embedded messages are set.
inherited
-
mergeFromBuffer(
List< int> input, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void -
Merges serialized protocol buffer data into this message.
inherited
-
mergeFromCodedBufferReader(
CodedBufferReader input, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void -
Same as
mergeFromBuffer
, but takes aCodedBufferReader
input.inherited -
mergeFromJson(
String data, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void -
Merges field values from
data
, a JSON object, encoded as described byGeneratedMessage.writeToJson
.inherited -
mergeFromJsonMap(
Map< String, dynamic> json, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void -
Merges field values from a JSON object represented as a Dart map.
inherited
-
mergeFromMessage(
GeneratedMessage other) → void -
Merges the contents of the
other
into this message.inherited -
mergeFromProto3Json(
Object? json, {TypeRegistry typeRegistry = const TypeRegistry.empty(), bool ignoreUnknownFields = false, bool supportNamesWithUnderscores = true, bool permissiveEnums = false}) → void -
Merges field values from
json
, a JSON object using proto3 encoding.inherited -
mergeUnknownFields(
UnknownFieldSet unknownFieldSet) → void -
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
rebuild(
void updates(T)) → T -
Available on T, provided by the GeneratedMessageGenericExtensions extension
Applyupdates
to a copy of this message. -
setExtension(
Extension extension, Object value) → void -
Sets the value of a non-repeated extension field to
value
.inherited -
setField(
int tagNumber, Object value) → void -
Sets the value of a field by its
tagNumber
.inherited -
toBuilder(
) → GeneratedMessage -
Creates a writable, shallow copy of this message.
inherited
-
toDebugString(
) → String -
Returns a String representation of this message.
inherited
-
toProto3Json(
{TypeRegistry typeRegistry = const TypeRegistry.empty()}) → Object? -
Returns an Object representing Proto3 JSON serialization of
this
.inherited -
toString(
) → String -
Returns a String representation of this message.
inherited
-
whichNameField(
) → TrackEvent_NameField -
writeToBuffer(
) → Uint8List -
Serialize the message as the protobuf binary format.
inherited
-
writeToCodedBufferWriter(
CodedBufferWriter output) → void -
Same as
writeToBuffer
, but serializes to the givenCodedBufferWriter
.inherited -
writeToJson(
) → String -
Returns a JSON string that encodes this message.
inherited
-
writeToJsonMap(
) → Map< String, dynamic> -
Returns the JSON encoding of this message as a Dart Map.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
create(
) → TrackEvent -
createRepeated(
) → PbList< TrackEvent> -
getDefault(
) → TrackEvent