5
5
"time"
6
6
7
7
"github.com/osquery/osquery-go/gen/osquery"
8
+ "github.com/osquery/osquery-go/traces"
8
9
"github.com/osquery/osquery-go/transport"
9
10
10
11
"github.com/apache/thrift/lib/go/thrift"
@@ -107,6 +108,9 @@ func (c *ExtensionManagerClient) Call(registry, item string, request osquery.Ext
107
108
108
109
// CallContext requests a call to an extension (or core) registry plugin.
109
110
func (c * ExtensionManagerClient ) CallContext (ctx context.Context , registry , item string , request osquery.ExtensionPluginRequest ) (* osquery.ExtensionResponse , error ) {
111
+ ctx , span := traces .StartSpan (ctx , "ExtensionManagerClient.CallContext" )
112
+ defer span .End ()
113
+
110
114
if err := c .lock .Lock (ctx ); err != nil {
111
115
return nil , err
112
116
}
@@ -121,6 +125,9 @@ func (c *ExtensionManagerClient) Extensions() (osquery.InternalExtensionList, er
121
125
122
126
// ExtensionsContext requests the list of active registered extensions.
123
127
func (c * ExtensionManagerClient ) ExtensionsContext (ctx context.Context ) (osquery.InternalExtensionList , error ) {
128
+ ctx , span := traces .StartSpan (ctx , "ExtensionManagerClient.ExtensionsContext" )
129
+ defer span .End ()
130
+
124
131
if err := c .lock .Lock (ctx ); err != nil {
125
132
return nil , err
126
133
}
@@ -135,6 +142,9 @@ func (c *ExtensionManagerClient) RegisterExtension(info *osquery.InternalExtensi
135
142
136
143
// RegisterExtensionContext registers the extension plugins with the osquery process.
137
144
func (c * ExtensionManagerClient ) RegisterExtensionContext (ctx context.Context , info * osquery.InternalExtensionInfo , registry osquery.ExtensionRegistry ) (* osquery.ExtensionStatus , error ) {
145
+ ctx , span := traces .StartSpan (ctx , "ExtensionManagerClient.RegisterExtensionContext" )
146
+ defer span .End ()
147
+
138
148
if err := c .lock .Lock (ctx ); err != nil {
139
149
return nil , err
140
150
}
@@ -149,6 +159,9 @@ func (c *ExtensionManagerClient) DeregisterExtension(uuid osquery.ExtensionRoute
149
159
150
160
// DeregisterExtensionContext de-registers the extension plugins with the osquery process.
151
161
func (c * ExtensionManagerClient ) DeregisterExtensionContext (ctx context.Context , uuid osquery.ExtensionRouteUUID ) (* osquery.ExtensionStatus , error ) {
162
+ ctx , span := traces .StartSpan (ctx , "ExtensionManagerClient.DeregisterExtensionContext" )
163
+ defer span .End ()
164
+
152
165
if err := c .lock .Lock (ctx ); err != nil {
153
166
return nil , err
154
167
}
@@ -163,6 +176,9 @@ func (c *ExtensionManagerClient) Options() (osquery.InternalOptionList, error) {
163
176
164
177
// OptionsContext requests the list of bootstrap or configuration options.
165
178
func (c * ExtensionManagerClient ) OptionsContext (ctx context.Context ) (osquery.InternalOptionList , error ) {
179
+ ctx , span := traces .StartSpan (ctx , "ExtensionManagerClient.OptionsContext" )
180
+ defer span .End ()
181
+
166
182
if err := c .lock .Lock (ctx ); err != nil {
167
183
return nil , err
168
184
}
@@ -181,6 +197,9 @@ func (c *ExtensionManagerClient) Query(sql string) (*osquery.ExtensionResponse,
181
197
// Consider using the QueryRow or QueryRows helpers for a more friendly
182
198
// interface.
183
199
func (c * ExtensionManagerClient ) QueryContext (ctx context.Context , sql string ) (* osquery.ExtensionResponse , error ) {
200
+ ctx , span := traces .StartSpan (ctx , "ExtensionManagerClient.QueryContext" )
201
+ defer span .End ()
202
+
184
203
if err := c .lock .Lock (ctx ); err != nil {
185
204
return nil , err
186
205
}
@@ -199,6 +218,9 @@ func (c *ExtensionManagerClient) QueryRows(sql string) ([]map[string]string, err
199
218
// results. It handles checking both the transport level errors and the osquery
200
219
// internal errors by returning a normal Go error type.
201
220
func (c * ExtensionManagerClient ) QueryRowsContext (ctx context.Context , sql string ) ([]map [string ]string , error ) {
221
+ ctx , span := traces .StartSpan (ctx , "ExtensionManagerClient.QueryRowsContext" )
222
+ defer span .End ()
223
+
202
224
res , err := c .QueryContext (ctx , sql )
203
225
if err != nil {
204
226
return nil , errors .Wrap (err , "transport error in query" )
@@ -222,6 +244,9 @@ func (c *ExtensionManagerClient) QueryRow(sql string) (map[string]string, error)
222
244
// QueryRowContext behaves similarly to QueryRows, but it returns an error if the
223
245
// query does not return exactly one row.
224
246
func (c * ExtensionManagerClient ) QueryRowContext (ctx context.Context , sql string ) (map [string ]string , error ) {
247
+ ctx , span := traces .StartSpan (ctx , "ExtensionManagerClient.QueryRowContext" )
248
+ defer span .End ()
249
+
225
250
res , err := c .QueryRowsContext (ctx , sql )
226
251
if err != nil {
227
252
return nil , err
@@ -239,6 +264,9 @@ func (c *ExtensionManagerClient) GetQueryColumns(sql string) (*osquery.Extension
239
264
240
265
// GetQueryColumnsContext requests the columns returned by the parsed query.
241
266
func (c * ExtensionManagerClient ) GetQueryColumnsContext (ctx context.Context , sql string ) (* osquery.ExtensionResponse , error ) {
267
+ ctx , span := traces .StartSpan (ctx , "ExtensionManagerClient.GetQueryColumnsContext" )
268
+ defer span .End ()
269
+
242
270
if err := c .lock .Lock (ctx ); err != nil {
243
271
return nil , err
244
272
}
0 commit comments