-
Notifications
You must be signed in to change notification settings - Fork 140
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: SCSC metrics for #TXs that fail pureCheck #16077
Conversation
8811c9d
to
b8abf1c
Compare
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.
Reviewed the following file:
hedera-node/hedera-smart-contract-service-impl/src/main/java/module-info.java
b8abf1c
to
9b81edd
Compare
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.
Reviewed the following files:
hedera-node/hedera-app-spi/src/main/java/module-info.java
hedera-node/hedera-smart-contract-service-impl/src/main/java/module-info.java
These two files look good.
hedera-node/hedera-app-spi/src/main/java/com/hedera/node/app/spi/AppContext.java
Outdated
Show resolved
Hide resolved
...st/java/com/hedera/node/app/service/contract/impl/test/exec/metrics/ContractMetricsTest.java
Outdated
Show resolved
Hide resolved
...st/java/com/hedera/node/app/service/contract/impl/test/exec/metrics/ContractMetricsTest.java
Outdated
Show resolved
Hide resolved
...st/java/com/hedera/node/app/service/contract/impl/test/handlers/ContractCallHandlerTest.java
Show resolved
Hide resolved
Switching to draft until (extensive) rebase is confirmed. |
9b81edd
to
30ee588
Compare
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferencesCodacy stopped sending the deprecated coverage status on June 5th, 2024. Learn more |
193eb33
to
94894bd
Compare
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.
Review applies to:
hedera-node/hedera-smart-contract-service-impl/src/main/java/module-info.java
Approved.
71af87a
to
860cfa7
Compare
0650a76
to
5189000
Compare
...ervice-impl/src/main/java/com/hedera/node/app/service/contract/impl/ContractServiceImpl.java
Outdated
Show resolved
Hide resolved
...pl/src/main/java/com/hedera/node/app/service/contract/impl/exec/metrics/ContractMetrics.java
Outdated
Show resolved
Hide resolved
...pl/src/main/java/com/hedera/node/app/service/contract/impl/exec/metrics/ContractMetrics.java
Outdated
Show resolved
Hide resolved
...pl/src/main/java/com/hedera/node/app/service/contract/impl/exec/metrics/ContractMetrics.java
Outdated
Show resolved
Hide resolved
...pl/src/main/java/com/hedera/node/app/service/contract/impl/exec/metrics/ContractMetrics.java
Show resolved
Hide resolved
...pl/src/main/java/com/hedera/node/app/service/contract/impl/exec/metrics/ContractMetrics.java
Show resolved
Hide resolved
...main/java/com/hedera/node/app/service/contract/impl/handlers/EthereumTransactionHandler.java
Outdated
Show resolved
Hide resolved
5189000
to
89f4a1b
Compare
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.
LGTM
- counts for CONTRACT_CREATE / CONTRACT_CALL / ETHEREUM_TRANSACTION that fail pureCheck for any reason - and for those that fail pureCheck because they don't even have the intrinsic gas amount - and for Type 3 format (BLOB) Ethereum transactions (that we don't support) By: - Change plumbing for metrics into smart contract service - Metrics are controlled by feature flags in `ContractsConfig` - Added `AbstractContractTransactionHandler` abstract class to hold a growing amount of commonality in smart contract transaction handler classes. Signed-off-by: David S Bakin <[email protected]>
89f4a1b
to
6009a60
Compare
Cherry pick of #16077 (from the PR, which has not yet merged to develop) Signed-off-by: David S Bakin <[email protected]>
Description:
SCSC metrics for #TXs that fail pureCheck:
Related issue(s):
Fixes #16076
Notes for reviewer:
ContractMetrics
to encapsulate all SCSC metrics; and currently it is used inContractCreateHandler
,ContractCallHandler
, andEthereumTransactionHandler
Supplier<Metrics>
to theAppContext
so smart contract service (and others) can get the metrics instance from the app.AppContext
out of thin airMetrics
object where needed but apparently token service can inCryptoGetAccountBalanceHandler
- I need to find out howAppContext
is created before theMetrics
instance is gotten from the platformContractMetrics
- I'll be asking people about how to do that better as wellChecklist