Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Relayer tokio task instrumentation #3760

Merged
merged 15 commits into from
May 22, 2024
Merged

Conversation

daniel-savu
Copy link
Contributor

@daniel-savu daniel-savu commented May 10, 2024

Description

  • Started off adding tokio-metrics but then realised those are quite general, so while we do have instrumentation it's not exposed in our metrics endpoint
  • switched to adding tokio-console, which does give insight into the lifetime of specific tasks, so we can check which ones take up a long time during relayer startup. These are only visible at the dependencyTrace log level, so don't affect performance in the hyperlane context.

Drive-by changes

Related issues

Backward compatibility

Testing

Copy link

changeset-bot bot commented May 10, 2024

⚠️ No Changeset found

Latest commit: 3e65346

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link

codecov bot commented May 10, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 63.96%. Comparing base (1f9a3e9) to head (3e65346).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3760   +/-   ##
=======================================
  Coverage   63.96%   63.96%           
=======================================
  Files         124      124           
  Lines        1543     1543           
  Branches      167      167           
=======================================
  Hits          987      987           
  Misses        530      530           
  Partials       26       26           
Components Coverage Δ
core 84.61% <ø> (ø)
hooks 67.50% <ø> (ø)
isms 39.52% <ø> (ø)
token 65.41% <ø> (ø)
middlewares 77.05% <ø> (ø)

@daniel-savu daniel-savu marked this pull request as ready for review May 20, 2024 13:56
@daniel-savu daniel-savu changed the title Relayer tokio task instrumentation feat: Relayer tokio task instrumentation May 20, 2024
@daniel-savu daniel-savu merged commit 27aabf2 into main May 22, 2024
36 of 37 checks passed
@daniel-savu daniel-savu deleted the dan/tokio-instrumentation branch May 22, 2024 12:29
tkporter pushed a commit that referenced this pull request May 24, 2024
### Description

- Started off adding tokio-metrics but then realised those are quite
general, so while we do have instrumentation it's not exposed in our
metrics endpoint
- switched to adding
[tokio-console](https://github.com/tokio-rs/console/tree/main), which
does give insight into the lifetime of specific tasks, so we can check
which ones take up a long time during relayer startup. These are only
visible at the `dependencyTrace` log level, so don't affect performance
in the `hyperlane` context.

### Drive-by changes

<!--
Are there any minor or drive-by changes also included?
-->

### Related issues

- Helps debug
#3454 and any
future performance issues
- Does half the work for
#3239 (still
need to expose these in the metrics endpoint and import the grafana
template)

### Backward compatibility

<!--
Are these changes backward compatible? Are there any infrastructure
implications, e.g. changes that would prohibit deploying older commits
using this infra tooling?

Yes/No
-->

### Testing

<!--
What kind of testing have these changes undergone?

None/Manual/Unit Tests
-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants