eapowertools-archive/GovernedMetricsService

Improve the update of metrics

dfarache opened this issue · 5 comments

We are planning on using the GMS in our team, as we have several applications that share big chunks of the data model.

We've noticed that when updating the metrics in the apps, all measures and dimensions are "pushed" into the applications sharing the same tag, regardless of whether these can be rendered in the app.

Would it be possible to have a plausibility check that detects before pushing a measure/dimension, whether the receiving applications has the necessary fields/variables to process that information?

Best

Sounds like a good idea.
Can you solve the problem by using multiple tags for now?

@dfarache while your idea is possible, the effort is extremely high because of the requirement to parse a calculated dimension expression or measure expression. This is not an easy feat. In addition, in some cases, you may be pushing to apps that have no data in them yet, so what then? The current method of matching custom property to metricsubject in our minds works because as you set up your metrics in a central store and apply the custom property to the app you have knowledge of the type of app you want to create. Please help me understand a use case where this isn't the case.

Our use case is as follows:

  • We have a bunch of applications categorized by tags. For the sake of simplicity, let's say we have 5 marketing apps and 3 sales apps. The marketing applications might share a subset of measures and dimensions, but not all of them, and the same applies to sales.
  • In the GMS data model we have measures and dimensions labelled as either 'Sales' or 'Marketing'. Here, the GMS behaves as a central library that contains the parent set of measures and dimensions.

As you say, it would be possible to differentiate the measures and dimensions using more labels in the custom properties but then at some point this approach can become hard to maintain for a high number of apps per label.

If you want to comingle a Sales dim with a marketing app, but not all sales dims with the marketing app, you create an entry in your metrics source for that dim and assign it a marketing metricsubject. I see there you don't want to have to update two entries of the same metric. It could be possible to make metricsubject an array (comma sep or something like that) to enable a single metric to exist on multiple subjectareas, but that doesn't solve your initial question of metric pushed, but no data to support it.

#117 merged. Thanks @dfarache for the contribution. While the code is now part of master, it is not part of current distro. Will be part of upcoming distribution.