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

Implement v0.3-compatible telemetry for LLO #14440

Merged
merged 8 commits into from
Sep 17, 2024

Conversation

samsondav
Copy link
Collaborator

Requires

Resolves

@samsondav samsondav requested review from a team as code owners September 16, 2024 15:13
@samsondav samsondav requested review from Atrax1 and removed request for a team September 16, 2024 15:13
@samsondav samsondav force-pushed the MERC-3603-llo-implement-telemetry branch 2 times, most recently from 0ee70dd to 606aaac Compare September 16, 2024 15:18
Copy link
Contributor

I see you updated files related to core. Please run pnpm changeset in the root directory to add a changeset as well as in the text include at least one of the following tags:

  • #added For any new functionality added.
  • #breaking_change For any functionality that requires manual action for the node to boot.
  • #bugfix For bug fixes.
  • #changed For any change to the existing functionality.
  • #db_update For any feature that introduces updates to database schema.
  • #deprecation_notice For any upcoming deprecation functionality.
  • #internal For changesets that need to be excluded from the final changelog.
  • #nops For any feature that is NOP facing and needs to be in the official Release Notes for the release.
  • #removed For any functionality/config that is removed.
  • #updated For any functionality that is updated.
  • #wip For any change that is not ready yet and external communication about it should be held off till it is feature complete.

@samsondav samsondav force-pushed the MERC-3603-llo-implement-telemetry branch from df05b50 to 2904fb5 Compare September 16, 2024 16:17
}

func (t *telemeter) collectV3PremiumLegacyTelemetry(d TelemetryObservation) {
eaTelemetryValues := ocrcommon.ParseMercuryEATelemetry(t.eng.SugaredLogger, d.trrs, mercuryutils.REPORT_V3)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we going to have to support v4 here? I'm happy to add the support if so.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Parallel comp does not support v4 at this time. We will need an additional piece of work in Q4 to add that.

return newTeleter(lggr, monitoringEndpoint)
}

func newTeleter(lggr logger.Logger, monitoringEndpoint commontypes.MonitoringEndpoint) *telemeter {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

telemeter?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@samsondav is the concept of feedID going away for llo? I see that Feed: e.job.OCR2OracleSpec.FeedID.Hex(), is still a line in the EaTelem.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Parallel comp sends the stream ID in place of the feed ID

@samsondav samsondav enabled auto-merge September 17, 2024 15:50
errmu.Unlock()
return
}

d.t.EnqueueV3PremiumLegacy(run, trrs, streamID, opts, val, nil)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How using the streamID impacts the current usage of telemetry data since it does not relate anymore with the feed (channel) ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We want to monitor streams not channels since channels can contain multiple streams, which does not map properly to the telemetry packets.

This is just one of those impedance mismatches. We are trying to force a channel/stream paradigm into the old feed telemetry structure.

The real solution is to change the telemetry packets and report solely stream values, forgetting feeds entirely, but we can't do that without breaking compatibility right now.

@@ -210,7 +210,6 @@ func TestIntegration_LLO(t *testing.T) {
}
serverURL := startMercuryServer(t, srv, clientPubKeys)

// TODO: all args?
steve, backend, configurator, configuratorAddress, verifier, _, verifierProxy, _, configStore, configStoreAddress := setupBlockchain(t)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

steve 😂

@samsondav samsondav added this pull request to the merge queue Sep 17, 2024
Merged via the queue into develop with commit ab5a2c6 Sep 17, 2024
136 of 137 checks passed
@samsondav samsondav deleted the MERC-3603-llo-implement-telemetry branch September 17, 2024 16:24
momentmaker added a commit that referenced this pull request Sep 19, 2024
* develop: (79 commits)
  core/config/toml: include value in InsecureConnection error message (#14495)
  vrf: add soneium config for integration tests (#14443)
  Add default test config for Grafana (#14475)
  Update to 1.5 RMN contract address (#14485)
  fix lint issues (#14450)
  [BCFR-203] Improve CR value comparator querying (topics and data words) by doing encoding in the relayer (#14207)
  integration-tests/deployment/ccip: fix assertion fns (#14482)
  chore: remove gha workflow validation (#14487)
  devsvcs-244: update token transfer (#14481)
  DF-20481: Add new OCR3DataFeeds telemetry type for Mercury jobs (#14470)
  Merc 6304 view function ea telem support (#14467)
  [DEVSVCS-545] cleanup (#14478)
  Mantle use vanilla l1 oracle (#14471)
  Fix E2E_TESTS_ON_GITHUB_CI.md (#14473)
  Upgrade chainlink ccip dependency (#14474)
  [DEVSVCS-545] automation benchmark test remove support for keepers v1 (#14472)
  Enables OOO Execution for E2E Tests (#14392)
  Delegate workflow spec creation (#14365)
  CCIP-3407: Add release testing configs (#1436) (#14463)
  Implement v0.3-compatible telemetry for LLO (#14440)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants