-
Notifications
You must be signed in to change notification settings - Fork 97
/
Copy pathprofiling.ksy
188 lines (180 loc) · 4.85 KB
/
profiling.ksy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
# Copyright (C) 2015-2023 Swift Navigation Inc.
# Contact: https://support.swiftnav.com
#
# This source is subject to the license found in the file 'LICENSE' which must
# be distributed together with this source. All other rights reserved.
#
# THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
# EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
#
# Standardized profiling messages from Swift Navigation devices.
#
# Automatically generated from spec/yaml/swiftnav/sbp/profiling.yaml with generate.py.
# Do not modify by hand!
meta:
id: profiling
endian: le
imports: [ ]
types:
msg_measurement_point:
doc: |
Tracks execution time of certain code paths in specially built products.
This message should only be expected and processed on the direction of
Swift's engineering teams.
seq:
- id: total_time
doc: |
Total time spent in measurement point (microseconds)
type: u4
- id: num_executions
doc: |
Number of times measurement point has executed
type: u2
- id: min
doc: |
Minimum execution time (microseconds)
type: u4
- id: max
doc: |
Maximum execution time (microseconds)
type: u4
- id: return_addr
doc: |
Return address
type: u8
- id: id
doc: |
Unique ID
type: u8
- id: slice_time
doc: |
CPU slice time (milliseconds)
type: u8
- id: line
doc: |
Line number
type: u2
- id: func
doc: |
Function name
type: str
encoding: ascii
size-eos: true
msg_profiling_system_info:
doc: |
Contains basic information about system resource usage. System is
defined in terms of the source of this message and may vary from sender
to sender. Refer to product documentation to understand the exact scope
and meaning of this message.
seq:
- id: total_cpu_time
doc: |
Total cpu time in microseconds consumed by this system
type: u8
- id: age
doc: |
Age of the producing system in microseconds
type: u8
- id: n_threads
doc: |
Number of threads being tracked by this system
type: u1
- id: heap_usage
doc: |
Number of bytes allocated on the heap
type: u4
msg_profiling_thread_info:
doc: |
Contains profiling information related to a single thread being tracked
by the producing system. Refer to product documentation to understand
the exact scope and meaning of this message.
seq:
- id: total_cpu_time
doc: |
Total cpu time in microseconds consumed by this thread
type: u8
- id: age
doc: |
Age of the thread in microseconds
type: u8
- id: state
doc: |
Thread state
type: u1
- id: stack_size
doc: |
Stack size in bytes
type: u4
- id: stack_usage
doc: |
Stack high water usage in bytes
type: u4
- id: name
doc: |
Thread name
type: str
encoding: ascii
size-eos: true
resource_bucket:
doc: |
Information about allocation of various resources grouped by buckets.
Refer to product documentation to understand the meaning and values in
this message.
seq:
- id: name
doc: |
Bucket name
type: str
encoding: ascii
size: 21
- id: thread
doc: |
Number of threads
type: u1
- id: mutex
doc: |
Number of mutexes
type: u1
- id: cv
doc: |
Number of condition variables
type: u1
- id: io
doc: |
Number of IO handles
type: u1
- id: heap_bytes_alloc
doc: |
Number of bytes allocated on the heap
type: u4
- id: heap_bytes_free
doc: |
Number of bytes freed on the heap
type: u4
- id: io_write
doc: |
Number of bytes written to IO handles
type: u4
- id: io_read
doc: |
Number of bytes read from IO handles
type: u4
msg_profiling_resource_counter:
doc: |
Information about resource buckets. Refer to product documentation to
understand the meaning and values in this message.
seq:
- id: seq_no
doc: |
Message number in complete sequence
type: u1
- id: seq_len
doc: |
Length of message sequence
type: u1
- id: buckets
doc: |
List of resource buckets
type: resource_bucket
repeat: eos