-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[Offload] Add offload performance metrics for tiered storage. #11555
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
Conversation
|
@frankxieke should we add metrics explanations here https://pulsar.apache.org/docs/en/next/reference-metrics/ ? If so, would you like to add docs accordingly? Then you can ping me to review, thanks |
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/LedgerOffloaderMXBean.java
Outdated
Show resolved
Hide resolved
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/LedgerOffloaderMXBean.java
Outdated
Show resolved
Hide resolved
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/LedgerOffloaderMXBean.java
Outdated
Show resolved
Hide resolved
|
Confirmed w/ @frankxieke, he will add docs and ping me review after this PR is finalized. |
michaeljmarshall
left a comment
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.
@frankxieke - this will be a good addition to our metrics. Before we merge this PR, I would like to see these metrics behind a feature flag that defaults to disabled at the topic level. Perhaps we can use the config exposeManagedLedgerMetricsInPrometheus, which already exists, as the feature flag?
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/LedgerOffloaderMXBeanImpl.java
Outdated
Show resolved
Hide resolved
...java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlockAwareSegmentInputStreamImpl.java
Outdated
Show resolved
Hide resolved
...n/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreBackedInputStreamImpl.java
Outdated
Show resolved
Hide resolved
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/BrokerServiceTest.java
Outdated
Show resolved
Hide resolved
...oker/src/main/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGenerator.java
Outdated
Show resolved
Hide resolved
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/LedgerOffloaderMXBeanImpl.java
Outdated
Show resolved
Hide resolved
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/LedgerOffloaderMXBeanImpl.java
Show resolved
Hide resolved
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/LedgerOffloaderMXBeanImpl.java
Outdated
Show resolved
Hide resolved
|
@lhotari - I know you have contributed optimizations to the way Pulsar generates Prometheus metrics in the past. Would you mind taking a look at this PR? |
codelipenghui
left a comment
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.
Pulsar can enable/disable the namespace/topic level metrics. so we should aggregate for different levels, if namespace/topic level disabled we only expose the broker level metrics, if namespace enabled but topic level disabled, we only expose the namespace level aggregate value.
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/LedgerOffloaderMXBeanImpl.java
Outdated
Show resolved
Hide resolved
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/LedgerOffloaderMXBean.java
Outdated
Show resolved
Hide resolved
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/LedgerOffloaderMXBeanImpl.java
Show resolved
Hide resolved
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/BrokerServiceTest.java
Show resolved
Hide resolved
09864d6 to
7a6bdba
Compare
pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/OffloadPoliciesImpl.java
Outdated
Show resolved
Hide resolved
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/LedgerOffloaderMXBeanImpl.java
Outdated
Show resolved
Hide resolved
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/LedgerOffloaderMXBeanImpl.java
Outdated
Show resolved
Hide resolved
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/NullLedgerOffloader.java
Outdated
Show resolved
Hide resolved
.../org/apache/bookkeeper/mledger/offload/filesystem/impl/FileSystemManagedLedgerOffloader.java
Show resolved
Hide resolved
|
I doubt why not choose provide An demo of using |
302dbd0 to
b589d95
Compare
c4090c7 to
f4024ce
Compare
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/LedgerOffloaderMXBeanImpl.java
Show resolved
Hide resolved
f4024ce to
a636fbd
Compare
|
rerun failure checks |
d4c1689 to
334bc66
Compare
|
rerun failure checks |
rerun failure checks |
Motivation
Currently, there is no offload metrics for tiered storage, so it is very hard for us to debug the performance issues. For example , we can not find why offload is slow or why read offload is slow. For above reasons. we need to add some offload metrics for monitoring.
Modifications
Add metrics during offload procedure and read offload data procedure. Including offloadTime, offloadError, offloadRate, readLedgerLatency, writeStoreLatency, writeStoreError, readOffloadIndexLatency, readOffloadDataLatency, readOffloadRate, readOffloadError.
Documentation
need documentation.