[Merged by Bors] - Add perf reporting to client Producer#2424
Closed
tjtelan wants to merge 29 commits intofluvio-community:masterfrom
tjtelan:client-stats
Closed
[Merged by Bors] - Add perf reporting to client Producer#2424tjtelan wants to merge 29 commits intofluvio-community:masterfrom tjtelan:client-stats
tjtelan wants to merge 29 commits intofluvio-community:masterfrom
tjtelan:client-stats
Conversation
sehz
suggested changes
Jun 22, 2022
|
rebase |
sehz
suggested changes
Jun 23, 2022
sehz
suggested changes
Jun 25, 2022
sehz
left a comment
There was a problem hiding this comment.
Overall looks very good. Just a couple of nits left.
|
Also, need CLI Test to see if the stat is correct. |
|
rebase |
morenol
reviewed
Jun 29, 2022
morenol
reviewed
Jun 29, 2022
morenol
reviewed
Jun 29, 2022
digikata
reviewed
Jun 30, 2022
digikata
reviewed
Jun 30, 2022
galibey
reviewed
Jul 7, 2022
Still pretty raw. Not able to get batch size yet
Moved record update further up the callstack Figured out how to get compressed size Wired up consumer to print stats Nothing updated yet, but good start Share stats in multipart consumer stream Created a new PartitionConsumer constructor Naming is hard clean up producer measurements
Still need to adjust, but good start Doing some cleanup
Using the largest reasonable units for quantity Handle some wasm32 compiler errors Reverting changes made to consumer for PR
Finish recording details that were unimplemented Move reporting into cli Optimize some unnecessary destructures Bump crate versions Add to changelog Trying to remove RwLock dependency for stats Addressing some PR feedback
Updating the ArcSwap is a little complicated Address some PR feedback Address PR feedback
Fixing more batch len during conversion Add new methods for getting batch length Hopefully clear up stats collect process
Reorg stats module to be easier to read It compiles, but not yet tested
A little bit of cleanup too
Replaced timestamp using chrono with std::instant Fixed csv writing Fixed interactive stats window
sehz
suggested changes
Jul 8, 2022
Respect when data is compressed
|
bors r+ |
bors bot
pushed a commit
that referenced
this pull request
Jul 9, 2022
Resolves #2423 Added `ClientStats` and `ClientStatsUpdate` to `fluvio` crate and integrated into `TopicProducer` with latency, throughput, memory and cpu stats. This behavior is configurable through `TopicProducerConfig` using `ClientStatsDataCollect` enum. Added user facing `ClientStatsDataPoint` for display of stats collection. Used in fluvio-cli. Exposed functionality in the CLI with `--stats`, `--stats-plus`, `--stats-path` options e.g. `fluvio produce <topic> --stats` * `--stats` * This configures the producer for collecting data for throughput and latency reporting * `--stats-plus` * This spawns a separate thread to poll the system for CPU and memory usage. * `--stats-path` * When combined with `--stats`- or `--stats-plus`, this will write the datapoints to file in csv format for loading into spreadsheet * `--no-stats-bar` * Prevent display and update of stats bar. Useful when in combination with `--stats-path` * `--stats-summary` * Implies `--stats`. Don't print live stats. Only the summary. Co-authored-by: T.J. Telan <t.telan@gmail.com>
|
Build failed: |
|
armv7 build failed: https://github.com/infinyon/fluvio/runs/7265516240?check_suite_focus=true |
|
disable stats for armv7? This probably can be done thru feature flag |
Build verified on local
$ cross build --bin fluvio --release --target armv7-unknown-linux-gnueabihf
Compiling fluvio v0.13.0 (/project/crates/fluvio)
Compiling fluvio-extension-common v0.8.0 (/project/crates/fluvio-extension-common)
Compiling fluvio-cluster v0.0.0 (/project/crates/fluvio-cluster)
Compiling fluvio-cli v0.0.0 (/project/crates/fluvio-cli)
Finished release [optimized] target(s) in 1m 01s
Contributor
Author
I fixed this by having 32 bit arm use the same types as wasm32. Builds for me now. |
Contributor
Author
|
bors r+ |
bors bot
pushed a commit
that referenced
this pull request
Jul 9, 2022
Resolves #2423 Added `ClientStats` and `ClientStatsUpdate` to `fluvio` crate and integrated into `TopicProducer` with latency, throughput, memory and cpu stats. This behavior is configurable through `TopicProducerConfig` using `ClientStatsDataCollect` enum. Added user facing `ClientStatsDataPoint` for display of stats collection. Used in fluvio-cli. Exposed functionality in the CLI with `--stats`, `--stats-plus`, `--stats-path` options e.g. `fluvio produce <topic> --stats` * `--stats` * This configures the producer for collecting data for throughput and latency reporting * `--stats-plus` * This spawns a separate thread to poll the system for CPU and memory usage. * `--stats-path` * When combined with `--stats`- or `--stats-plus`, this will write the datapoints to file in csv format for loading into spreadsheet * `--no-stats-bar` * Prevent display and update of stats bar. Useful when in combination with `--stats-path` * `--stats-summary` * Implies `--stats`. Don't print live stats. Only the summary. Co-authored-by: T.J. Telan <t.telan@gmail.com>
|
Pull request successfully merged into master. Build succeeded: |
bors bot
pushed a commit
that referenced
this pull request
Jul 13, 2022
Fixing a small display bug from ##2424
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves #2423
Added
ClientStatsandClientStatsUpdatetofluviocrate and integrated intoTopicProducerwith latency, throughput, memory and cpu stats. This behavior is configurable throughTopicProducerConfigusingClientStatsDataCollectenum.Added user facing
ClientStatsDataPointfor display of stats collection. Used in fluvio-cli.Exposed functionality in the CLI with
--stats,--stats-plus,--stats-pathoptionse.g.
fluvio produce <topic> --stats--stats--stats-plus--stats-path--stats- or--stats-plus, this will write the datapoints to file in csv format for loading into spreadsheet--no-stats-bar--stats-path--stats-summary--stats. Don't print live stats. Only the summary.