envoyproxy/envoy

Rethink ALL_CLUSTER_STATS

Open

#7128 aperta il 31 mag 2019

Vedi su GitHub
 (2 commenti) (0 reazioni) (0 assegnatari)C++ (5373 fork)batch import
help wantedtech debt

Metriche repository

Star
 (27.997 star)
Metriche merge PR
 (Merge medio 8g) (378 PR mergiate in 30 g)

Descrizione

We have been dumping a bunch of things in ALL_CLUSTER_STATS that are specific certain aspects of Envoy configuration and/or extensions. Given that these stats are the largest users of memory, and there is cognitive load for having stats that are not used, we should consider breaking this apart and allowing code/extensions to create sub-scopes in the cluster for specific things.

For example:

COUNTER(lb_local_cluster_not_ok)                                                                 \
  COUNTER(lb_recalculate_zone_structures)                                                          \
  COUNTER(lb_subsets_created)                                                                      \
  COUNTER(lb_subsets_fallback)                                                                     \
  COUNTER(lb_subsets_fallback_panic)                                                               \
  COUNTER(lb_subsets_removed)                                                                      \
  COUNTER(lb_subsets_selected)                                                                     \
  COUNTER(lb_zone_cluster_too_small)                                                               \
  COUNTER(lb_zone_no_capacity_left)                                                                \
  COUNTER(lb_zone_number_differs)                                                                  \
  COUNTER(lb_zone_routing_all_directly)                                                            \
  COUNTER(lb_zone_routing_cross_zone)                                                              \
  COUNTER(lb_zone_routing_sampled)                                                                 \

All of ^ could be created on demand by extensions/LBs that use them.

cc @jmarantz

Guida contributor