Commit 9dfdf1b
81079: tracing: aggregate OperationMetadata on span Finish() r=andreimatei a=adityamaru
This change adds a `ChildrenMetadata` map to `crdbspan` that is a
mapping from operation to the operations' aggregated metadata. This
map is updated whenever a child of the `crdbSpan` finishes, with metadata
from all spans in the finishing childs' Recording. The map is therefore
a bucketed view of all the operations being traced by a span.
The motivation for this change is to surface more metadata about the
suboperations being traced in a spans' Recording. This could in turn provide
more o11y into why a job is slow/stuck, or where the performance of a
distributed operation is bottlenecked.
As part of a span Finish()ing, the span fetches its Recording with the spans'
configured verbosity. Prior to this change the recording would then be
processed as follows:
*Verbose Recording*
In the case of Verbose recording the spans in the recording are added to the parents'
`finishedChildren` slice provided we have not exceeded the maximum number of
children a parent can track.
*Structured Recording*
In the case of a Structured recording, only the StructuredEvents from the spans in
the recording are copied into the parent.
With this change, in both the Verbose and Structured recording mode, a finishing span
is also responsible for rolling up the OperationMetadata of all the spans in its
recording. This involves updating the parents' `childrenMetadata` mapping with:
1) an entry for the finishing span.
2) an entry for each of the finishing spans' Finish()ed children.
3) an entry for each of the finishing spans' open children, and their children recursively
The logic for 2) and 3) is subsumed in the method responsible for getting
the finishing spans' recording. Notably, GetRecording(...) for both Structured and Verbose
recordings, populate the root of the recording with OperationMetadata of all
finished and open children in the recording.
As an example when we are done finishing `child`:
```
parent
child (finished_C: 4s, finished_D: 3s)
open_A (finished_B: 1s)
finished_B
finished_C (finished_D: 3s)
finished_D
```
We'd expect `parent` to have:
`{child: 10s, finished_C: 4s, finished_D: 3s, open_A: 3s, finished_B: 1s}`
Given that Finish()ing a child, and importing a remote recording into a span
share the same code path, the above semantics also apply to a remote recording
being imported into a parent span.
Fixes: #80391
Release note: None
82667: storage: add `MVCCTimeInterval` block property for range keys r=jbowens a=erikgrinaker
This patch adds `MVCCTimeInternal` block property collection and
filtering for range keys, which allows using time-bound iterators with
range keys.
Range keys will only be written once the `MVCCRangeTombstones` version
gate is enabled.
Resolves #82596.
Release note: None
83107: ui: make Metrics and SQL timepicker align r=maryliag a=maryliag
Previously, the timepicker from Metrics page and
the timepicker on SQL Activity pages acted independently.
Now, if the value of one changes, the other value changes
to the same period selected.
This commit also fixes a bug where the period selected
would change to a custom value if the Metrics page was
refreshed.
Fixes #78187
Fixes #82152
Release note (ui change): The period selected on the Metrics
page and the SQL Activity pages are now aligned. If the user
changes in one page, the value will be the same for the other.
Release note (bug fix): The period selected on Metrics page
continues the same when refreshing the page, no longer changing
to a custom period.
83400: awsdms: further deflake roachtest r=rafiss a=otan
Once the connection is tested, we also have to ensure the status of
the DMS endpoint connection is successful before continuing.
Otherwise DMS may fail to startup.
Resolves #83369
Release note: None
83423: cluster-ui/ui: remove ability to search statements by plan r=xinhaoz a=xinhaoz
Closes #83155
Previously, we allowed statements in the statements page to
searchable by text in the explain plan. This was before we
returned multiple plans for a statement fingerprint. This commit
removes the explain plan text as part of the searchable string, as
this feature could now lead to confusing behaviour.
Release note (ui change): In the statements page, users can no
longer filter statements by searching for text in the EXPLAIN
plan.
83427: ui: update labels on Session Details page r=maryliag a=maryliag
Update labels so all of them use the same
format.
Fixes #80350
Release note: None
83457: ccl/sqlproxyccl: fix TestConnectionMigration test flake r=JeffSwenson,rafiss a=jaylim-crl
Fixes #83096.
It appears that database/sql does not provide any thread-safe guarantees for
methods on the Conn type except the Close method. This commit fixes a test-only
issue that causes a panic when there's a race between internal Conn methods
by ensuring that Conn methods are used in a single-threaded way.
Release note: None
Release justification: sqlproxy only test change.
83460: ui: explain eslint plugin prequisite r=laurenbarker a=sjbarag
A recent commit [1] introduced a custom eslint plugin that's hosted in
this repo, but didn't add documentation around building that plugin to
resolve errors reported in IDEs. Explain that eslint-plugin-crdb should
be built to silence errors from eslint that get reported in editors.
[1] ba68179 (ui: use esbuild-loader in webpack configs, 2022-05-26)
Release note: None
Co-authored-by: Aditya Maru <adityamaru@gmail.com>
Co-authored-by: Erik Grinaker <grinaker@cockroachlabs.com>
Co-authored-by: Marylia Gutierrez <marylia@cockroachlabs.com>
Co-authored-by: Oliver Tan <otan@cockroachlabs.com>
Co-authored-by: Xin Hao Zhang <xzhang@cockroachlabs.com>
Co-authored-by: Jay <jay@cockroachlabs.com>
Co-authored-by: Sean Barag <barag@cockroachlabs.com>
9 parents 2808905 + 4ddc350 + 202b112 + 78b723d + 77f8930 + 7c57bce + 8e46e5c + 0b696bb + ec32cbb commit 9dfdf1b
33 files changed
Lines changed: 955 additions & 220 deletions
File tree
- pkg
- ccl/sqlproxyccl
- cmd/roachtest/tests
- server
- storage
- ui
- workspaces
- cluster-ui/src
- sessions
- statementsPage
- timeScaleDropdown
- db-console/src
- redux
- statements
- views
- app/containers/metricsTimeManager
- cluster
- components/linegraph
- containers/nodeGraphs
- reports/containers/customChart
- statements
- transactions
- util/tracing
- tracingpb
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1280 | 1280 | | |
1281 | 1281 | | |
1282 | 1282 | | |
1283 | | - | |
1284 | | - | |
1285 | | - | |
1286 | | - | |
| 1283 | + | |
| 1284 | + | |
1287 | 1285 | | |
1288 | 1286 | | |
1289 | 1287 | | |
| |||
1333 | 1331 | | |
1334 | 1332 | | |
1335 | 1333 | | |
1336 | | - | |
| 1334 | + | |
| 1335 | + | |
1337 | 1336 | | |
1338 | 1337 | | |
1339 | | - | |
1340 | | - | |
1341 | | - | |
1342 | | - | |
1343 | | - | |
1344 | | - | |
1345 | | - | |
1346 | 1338 | | |
1347 | 1339 | | |
1348 | 1340 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
487 | 487 | | |
488 | 488 | | |
489 | 489 | | |
| 490 | + | |
| 491 | + | |
490 | 492 | | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
491 | 499 | | |
492 | 500 | | |
493 | 501 | | |
494 | 502 | | |
495 | 503 | | |
496 | 504 | | |
497 | 505 | | |
498 | | - | |
499 | | - | |
500 | | - | |
501 | | - | |
502 | | - | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
503 | 535 | | |
| 536 | + | |
| 537 | + | |
504 | 538 | | |
505 | | - | |
506 | 539 | | |
507 | 540 | | |
508 | 541 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
| 131 | + | |
131 | 132 | | |
132 | 133 | | |
133 | 134 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
325 | 325 | | |
326 | 326 | | |
327 | 327 | | |
328 | | - | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
329 | 374 | | |
330 | 375 | | |
331 | 376 | | |
332 | 377 | | |
333 | 378 | | |
334 | 379 | | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
335 | 383 | | |
336 | 384 | | |
337 | 385 | | |
338 | 386 | | |
339 | 387 | | |
340 | | - | |
341 | | - | |
342 | | - | |
343 | | - | |
344 | | - | |
345 | | - | |
346 | | - | |
347 | 388 | | |
348 | 389 | | |
349 | 390 | | |
| |||
431 | 472 | | |
432 | 473 | | |
433 | 474 | | |
434 | | - | |
435 | | - | |
| 475 | + | |
| 476 | + | |
436 | 477 | | |
437 | 478 | | |
438 | 479 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
239 | 239 | | |
240 | 240 | | |
241 | 241 | | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
242 | 247 | | |
243 | 248 | | |
244 | 249 | | |
| |||
0 commit comments