-
Notifications
You must be signed in to change notification settings - Fork 71
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: add metrics in GlobalBlobAwareConflationCalculator and move bri… #654
base: main
Are you sure you want to change the base?
feat: add metrics in GlobalBlobAwareConflationCalculator and move bri… #654
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #654 +/- ##
============================================
+ Coverage 68.08% 68.30% +0.22%
- Complexity 1182 1198 +16
============================================
Files 326 326
Lines 13229 13325 +96
Branches 1338 1349 +11
============================================
+ Hits 9007 9102 +95
+ Misses 3667 3665 -2
- Partials 555 558 +3
*This pull request uses carry forward flags. Click here to find out more.
|
1412aaf
to
40c25db
Compare
...in/kotlin/net/consensys/zkevm/coordinator/clients/prover/FileBasedExecutionProverClientV2.kt
Show resolved
Hide resolved
...in/net/consensys/zkevm/ethereum/coordination/proofcreation/ZkProofCreationCoordinatorImpl.kt
Outdated
Show resolved
Hide resolved
...in/net/consensys/zkevm/ethereum/coordination/proofcreation/ZkProofCreationCoordinatorImpl.kt
Outdated
Show resolved
Hide resolved
...in/net/consensys/zkevm/ethereum/coordination/proofcreation/ZkProofCreationCoordinatorImpl.kt
Outdated
Show resolved
Hide resolved
40c25db
to
644ca9c
Compare
644ca9c
to
c25c3f4
Compare
.../net/consensys/zkevm/ethereum/coordination/conflation/GlobalBlobAwareConflationCalculator.kt
Outdated
Show resolved
Hide resolved
) | ||
private val gasUsedInBatchHistogram = metricsFacade.createHistogram( | ||
category = LineaMetricsCategory.BATCH, | ||
name = "gas.used", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same note as the blob
.../consensys/zkevm/ethereum/coordination/aggregation/ProofAggregationCoordinatorServiceTest.kt
Outdated
Show resolved
Hide resolved
.../consensys/zkevm/ethereum/coordination/conflation/GlobalBlobAwareConflationCalculatorTest.kt
Outdated
Show resolved
Hide resolved
787148c
to
e67bbf9
Compare
…dge logs and state root hash retrieval from execution prover client to coordinator
…nv vars in docker compose
115464d
to
b633da7
Compare
/usr/local/bin/eth2-testnet-genesis deneb \ | ||
--config /config/network-config.yml \${L1_GENESIS_TIME:+--timestamp ${L1_GENESIS_TIME} \} | ||
--config /config/network-config.yml \${L1_GENESIS_TIME:+--timestamp ${L1_GENESIS_TIME:-} \} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To address the warning logs of missing env variables when running docker compose
.filter { blobInterval.blocksRange.contains(it.blockNumber) } | ||
.sumOf { it.gasUsed } | ||
val uncompressedDataSizeInBlob = blobBlockCounters | ||
.filter { blobInterval.blocksRange.contains(it.blockNumber) } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can do the filter once here and reuse the result
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Side note.
implementation project(":jvm-libs:linea:metrics:micrometer")
should be replaced by
testFixturesImplementation project(":jvm-libs:linea:metrics:micrometer")
It would be nice to clean this up in this change. Our core implementation doesn't really depend on Micrometer
lateinit var mockAggregationSizeInBlocksHistogram: Histogram | ||
lateinit var mockAggregationSizeInBatchesHistogram: Histogram | ||
lateinit var mockAggregationSizeInBlobsHistogram: Histogram | ||
val mockMetricsFacade: MetricsFacade = mock() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't it easier to create a real instance instead? We have the micrometer dependency in the test fixtures anyway
private lateinit var mockMetricsFacade: MetricsFacade | ||
|
||
// histogram metrics mocks | ||
private lateinit var mockGasUsedInBlobHistogram: Histogram |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel like this is an ideal case for a fake implementation backed by a list. Mocks instantiation is too repetitive IMO and the only advantage we're taking from the mocks is the inOrder
verification. IMO a simple Histogram implementation will cover our needs much better with less repetitive and more readable code
…dge logs and state root hash retrieval from execution prover client to coordinator
This PR implements issue(s) #604
Checklist