-
Notifications
You must be signed in to change notification settings - Fork 37
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
Proposal: Allow custom metrics to be computed based on tasks length #177
Comments
Hi @horseunnamed , thank you very much for the proposal. In the case ExecutedTasksInfo, it's special case and comes from the implementation of the new measuring cache hits, developed by @MyDogTom. In the PR(#169) it includes the description:
That's why we are doing the aggregation of two entities. So I'm not sure if we want to include data from TaskLength there. But at the same time, you're bringing a new concept to be considered in the metrics for the builds. @MyDogTom @mokkun any thoughts? Meanwhile, you can use a custom publisher with filtering options and there manage the grouped tasks to do the aggregation. |
Thanks for your reply! I've thought about implementing my aggregation with custom publisher, but problem is that I want to also send this information to InfluxDB and I'm currently using |
@cdsap I think it would be beneficial to allow people perform some extra actions before publishing. Coming back to @horseunnamed request. @horseunnamed There is another alternative approach which shifts computation from plugin level to InfluxDB level. Talaiot allows you to generate |
@MyDogTom, thanks for your suggestion! It's an interesting idea. And it seems like I can accomplish this by using But actually it looks to me like too complicated way, because I don't really want to transmit and store (even very temporarily) detail information about all tasks on large multi-module project. Especially giving that all information about tasks duration is already available to aggregation before publishing. It would be really nice to have some separate "transfromation" mechanism as you proposed! More on practical aspect of such aggregation: I want to compute duration and ratio (to overall build time) of tasks related to tests and kapt. This kind of aggregations seems helpful for build time analysis. |
@MyDogTom Totally agree with these statements. We need to detach the responsibility of the preparation of the data. I really like the concept of "Transformation", new entity that cover uses cases like the one explained by @horseunnamed, given an input(default List of We can notice that currently we are doing some kind of transformations, for example using My next question, it's about the |
I propose to approach this task in two steps. Step 1. Implement Step 2. Add possibility to define custom data structures that will be recognized by publishers. For example, instead of publishing information about each tasks, one could just publish information about every module. In this case information about each module could be a separate row.
@cdsap If you agree, then I would love to prepare a draft for the |
Hello. I want to create custom build metric that computes total duration for some subset of executed tasks.
In current master branch I found abstract class
ExecutedTasksMetric
and it looks like appropriate choice for such use cases. But in provider forExecutedTasksMetric
we can only accessExecutedTasksInfo
that doesn't have info about tasks duration.It would be nice to also have access to list of
TaskLength
in provider for this metric. For example by adding this information toExecutedTasksInfo
orExecutedGradleTaskInfo
.The text was updated successfully, but these errors were encountered: