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

app/peerinfo: add nickname field to peerinfo protocol #3428

Merged
merged 12 commits into from
Jan 8, 2025

Conversation

DiogoSantoss
Copy link
Contributor

Add nickname flag to run command, exchange nicknames using peerinfo protocol and create nickname metric to display on Grafana.

Preview:
Screenshot from 2024-12-17 09-11-26

category: feature
ticket: #1655

@DiogoSantoss DiogoSantoss requested a review from pinebit December 17, 2024 09:57
@DiogoSantoss DiogoSantoss changed the title app/peerinfo: Add nickname field to peerinfo protocol app/peerinfo: add nickname field to peerinfo protocol Dec 17, 2024
@gsora
Copy link
Collaborator

gsora commented Dec 17, 2024

Do we need to handle the case in which two or more peer have the same nickname?

@DiogoSantoss
Copy link
Contributor Author

We probably should, just not sure what to do in that case. We could change our own by adding some suffix to the nickname. I don't know if we consider malicious nodes in this case.

cmd/run.go Outdated Show resolved Hide resolved
@pinebit
Copy link
Contributor

pinebit commented Dec 17, 2024

Do we need to handle the case in which two or more peer have the same nickname?

I think we can't do much about this.. just allow them to do that.

Copy link

codecov bot commented Dec 17, 2024

Codecov Report

Attention: Patch coverage is 61.76471% with 13 lines in your changes missing coverage. Please review.

Project coverage is 56.94%. Comparing base (802e922) to head (9b9ae64).
Report is 6 commits behind head on main.

Files with missing lines Patch % Lines
app/app.go 0.00% 6 Missing ⚠️
app/peerinfo/peerinfo.go 82.35% 3 Missing ⚠️
cmd/run.go 25.00% 2 Missing and 1 partial ⚠️
app/peerinfo/peerinfopb/v1/peerinfo.pb.go 80.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3428      +/-   ##
==========================================
+ Coverage   56.91%   56.94%   +0.02%     
==========================================
  Files         218      218              
  Lines       32390    32416      +26     
==========================================
+ Hits        18435    18458      +23     
- Misses      12063    12065       +2     
- Partials     1892     1893       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

app/peerinfo/peerinfo.go Outdated Show resolved Hide resolved
DiogoSantoss and others added 6 commits January 6, 2025 15:29
Co-authored-by: Kaloyan Tanev <24719519+KaloyanTanev@users.noreply.github.com>
Bump linter

category: feature
ticket: none
Implement a way to provide eth2wrap with two classes of beacon nodes addresses: standard and fallback beacon nodes.

When one of the multi BN calls fails, eth2wrap wrappers will try to get an available fallback BN from a list and re-do the call on that.

If no fallback BNs is specified, return the original error.

If the fallback BN call fails, return fallback error instead.

This PR firstly introduces concepts and code, will introduce CLI parameters and initialization code later.

category: feature
ticket: #3328
Bump protobuf to latest version

category: misc
ticket: none
#3420)

Bumps [go.opentelemetry.io/otel/trace](https://github.com/open-telemetry/opentelemetry-go) from 1.32.0 to 1.33.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md">go.opentelemetry.io/otel/trace's changelog</a>.</em></p>
<blockquote>
<h2>[1.33.0/0.55.0/0.9.0/0.0.12] 2024-12-12</h2>
<h3>Added</h3>
<ul>
<li>Add <code>Reset</code> method to <code>SpanRecorder</code> in <code>go.opentelemetry.io/otel/sdk/trace/tracetest</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5994">#5994</a>)</li>
<li>Add <code>EnabledInstrument</code> interface in <code>go.opentelemetry.io/otel/sdk/metric/internal/x</code>.
This is an experimental interface that is implemented by synchronous instruments provided by <code>go.opentelemetry.io/otel/sdk/metric</code>.
Users can use it to avoid performing computationally expensive operations when recording measurements.
It does not fall within the scope of the OpenTelemetry Go versioning and stability <a href="https://github.com/open-telemetry/opentelemetry-go/blob/main/VERSIONING.md">policy</a> and it may be changed in backwards incompatible ways or removed in feature releases. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6016">#6016</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The default global API now supports full auto-instrumentation from the <code>go.opentelemetry.io/auto</code> package.
See that package for more information. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5920">#5920</a>)</li>
<li>Propagate non-retryable error messages to client in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5929">#5929</a>)</li>
<li>Propagate non-retryable error messages to client in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5929">#5929</a>)</li>
<li>Propagate non-retryable error messages to client in <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5929">#5929</a>)</li>
<li>Performance improvements for attribute value <code>AsStringSlice</code>, <code>AsFloat64Slice</code>, <code>AsInt64Slice</code>, <code>AsBoolSlice</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6011">#6011</a>)</li>
<li>Change <code>EnabledParameters</code> to have a <code>Severity</code> field instead of a getter and setter in <code>go.opentelemetry.io/otel/log</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6009">#6009</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix inconsistent request body closing in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5954">#5954</a>)</li>
<li>Fix inconsistent request body closing in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5954">#5954</a>)</li>
<li>Fix inconsistent request body closing in <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5954">#5954</a>)</li>
<li>Fix invalid exemplar keys in <code>go.opentelemetry.io/otel/exporters/prometheus</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5995">#5995</a>)</li>
<li>Fix attribute value truncation in <code>go.opentelemetry.io/otel/sdk/trace</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/5997">#5997</a>)</li>
<li>Fix attribute value truncation in <code>go.opentelemetry.io/otel/sdk/log</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6032">#6032</a>)</li>
</ul>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/8c38f80ec37ca5f5ef037c6b19997764926ba049"><code>8c38f80</code></a> Release v1.33.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6035">#6035</a>)</li>
<li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/aa95895dfa8c2807e0cb0dd1a220d91fe731509b"><code>aa95895</code></a> Fix sdk/log record attr value limit  (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6032">#6032</a>)</li>
<li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/58fdf2a692aaa5a193e03c62d94f5ce0034ebeda"><code>58fdf2a</code></a> Cache successful requests in lychee (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6030">#6030</a>)</li>
<li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/ac386f383cdfc14f546b4e55e8726a0a45e8a409"><code>ac386f3</code></a> fix(deps): update golang.org/x/exp digest to 1829a12 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6031">#6031</a>)</li>
<li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/dd83cac3f8f4412bc0c40e739eb33780bd9a3aba"><code>dd83cac</code></a> chore(deps): update googleapis to e6fa225 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6028">#6028</a>)</li>
<li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/de4ff3180d8b7f8ddde9c82b3debe07ca5dc3b33"><code>de4ff31</code></a> fix(deps): update github.com/opentracing-contrib/go-grpc/test digest to ca80a...</li>
<li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/0598dae2346d82de790fa0a5eb1ef94828cdac4d"><code>0598dae</code></a> sdk/metric: Add experimental Enabled method to synchronous instruments (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6016">#6016</a>)</li>
<li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/3bb224be0da8a3ba583823e3f99d4d0dfb5f35ed"><code>3bb224b</code></a> chore(deps): update google.golang.org/genproto/googleapis/rpc digest to a4fef...</li>
<li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/13da55468e5680d7f4d6f8a1fe66d36882590f43"><code>13da554</code></a> chore(deps): update codecov/codecov-action action to v5.1.1 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6026">#6026</a>)</li>
<li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/b4a91a210c865374f5c72973eeb450036290366f"><code>b4a91a2</code></a> chore(deps): update module go.opentelemetry.io/auto/sdk to v1.1.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/6025">#6025</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/open-telemetry/opentelemetry-go/compare/v1.32.0...v1.33.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=go.opentelemetry.io/otel/trace&package-manager=go_modules&previous-version=1.32.0&new-version=1.33.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
Copy link

sonarqubecloud bot commented Jan 7, 2025

@DiogoSantoss DiogoSantoss added the merge when ready Indicates bulldozer bot may merge when all checks pass label Jan 8, 2025
@obol-bulldozer obol-bulldozer bot merged commit 5145b79 into main Jan 8, 2025
12 of 13 checks passed
@obol-bulldozer obol-bulldozer bot deleted the diogo/nickname-peerinfo branch January 8, 2025 11:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge when ready Indicates bulldozer bot may merge when all checks pass
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants