newrelic / nr1-workload-geoops

NR1 Workload Geo Ops aligns Workload data (or other Entities) in a Geographic management console.
Apache License 2.0
4 stars 19 forks source link

GeoOps Issues with Large Workloads #77

Closed amarbarot closed 4 years ago

amarbarot commented 4 years ago

I have been testing GeoOps and I love it, but i have a problem with GeoOps maps not loading when i use workloads which have more entities, I have 4 screenshots showing the problem.

Essentially, I create a map, assign a workload which only has one entity and it works fine. As soon as i assigned a larger workload GeoOps breaks on me.

Assigning test workload with one host image

image

If I edit this small workload, with one that has more entities: image

And i try and reload the map it breaks image

If i assign the larger workload when building the map, it won't load when i click view map. This only seems to work with tiny workloads.

tangollama commented 4 years ago

@amarbarot thanks for the detailed issue. We're prioritizing this work to be addressed soon.

amarbarot commented 4 years ago

Thanks @tangollama

I've been trying different combination of workloads, can't really pinpoint what the tipping point is, a workload with 100 hosts seems to work, anything above 250 breaks it.

Must be a limit somewhere stopping large workloads from loading.

amarbarot commented 4 years ago

@tangollama Any news on any progress or when this will be looking into?, I want us to start using it for production monitoring.

madecki commented 4 years ago

@amarbarot Hi, I'm putting my hands on this issue now and will try to return with some solution ASAP :)

amarbarot commented 4 years ago

Thanks @madecki

Hopefully you are seeing the same issue on your side also.

The idea is we want a workload per state, each workload will have at-least 1000 entities.

tangollama commented 4 years ago

Design/issue notes:

  1. It appears that we're running into the documented limit on the number of entities in an actor.entities(guid) nerdgraph request,
  2. So, we need to chunk the request in 25-entity pages,
  3. And deal with the result on the back end

Steps

  1. Turn this const into a function that generates multiple entities with aliases. I recommend query1: entities..., query2: entities for each 25-entity "page" https://github.com/newrelic/nr1-workload-geoops/blob/master/nerdlets/shared/services/queries.js#L141
  2. In here (https://github.com/newrelic/nr1-workload-geoops/blob/master/nerdlets/shared/components/AlertableEntitiesByGuidsQuery.js#L139) recombinate the results based on the convention of how you've had to chunk the data.

cc: @devfreddy @madecki

amarbarot commented 4 years ago

So do i need to download this again and try again?

nr-opensource-bot commented 4 years ago

:tada: This issue has been resolved in version 1.1.7 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket: