elastic / rally

Macrobenchmarking framework for Elasticsearch
Apache License 2.0
1.95k stars 313 forks source link

Reporting start and end times of each task #1456

Open b-deam opened 2 years ago

b-deam commented 2 years ago

User story:

As a Rally user, I'd like to be able to analyse a race's metrics by building dashboards/visualisations that show the performance of specific tasks and operations over the course of the benchmark. The current status quo means that there's no 'nice' way of easy identifying when a specific task started and finished besides manually reading Rally benchmark timestamps from the logs.

Possible solution:

Rally could emit a document to the metrics store at the beginning and end of each task (inclusive of the race metadata) that would allow users to clearly delineate each stage of the race by using such features as Kibana Annotations.

pquentin commented 2 years ago

besides manually reading Rally benchmark timestamps from the logs.

Even that is an issue to me. I don't think there are clear start and end indicators in rally.log?

egeOzpinar commented 2 years ago

Hello, Me and @gokcesrc would love to develop this feature and we though that if we have a cli argument that specifies that calculate an interval for every tasks, and if we add as a default parameter to the commands that would be useful. For example: "esrally {command_line} --configuration-name='{cfg}' --calculate-interval"

I suppose there is a function that calculates interval in time.py file. Can we use it or should we add a function to there?

What do you think about that?

b-deam commented 2 years ago

Hello, Me and @gokcesrc would love to develop this feature and we though that if we have a cli argument that specifies that calculate an interval for every tasks, and if we add as a default parameter to the commands that would be useful. For example: "esrally {command_line} --configuration-name='{cfg}' --calculate-interval"

I suppose there is a function that calculates interval in time.py file. Can we use it or should we add a function to there?

What do you think about that?

Hi @egeOzpinar (and @gokcesrc!), thank you for your enthusiasm to contribute to Rally!

Firstly, I'll have to be honest and say that I think my application of the good first issue label was a bit of a misnomer. A quick look again at what this feature entails means it will likely require changes in esrally/driver/driver.py to the Driver and SamplePostprocessor classes, but exactly what changes I'm not sure as I haven't thought too deeply about how we might implement this, though we would certainly prefer for this feature to be enabled by default, and probably not even able to be turned off (i.e. no CLI arguments). Regardless, given the vague requirements and guidance I'm going to remove the good first issue label as I think there's just a bit too many moving parts for this to be considered as an entry point for new contributors.

If you're still interested in contributing to Rally, then I'd like to suggest perhaps starting with another one of the more accurately (😅) labeled good first issue tickets.

egeOzpinar commented 2 years ago

Thank you a lot @b-deam. We will look at this issue but I am not sure that if we can achieve 😅 We will update here if there will be any progress ✌️