anchor.diff:        documentation:
           title: 502 Bad Gateways by Router
           description: |
  -          The lifetime number of bad gateways, or 502 responses, from the Gorouter itself, emitted per Gorouter instance.
  -          The Gorouter emits a 502 bad gateway error when it has a route in the routing table and, in attempting to make
  -          a connection to the backend, finds that the backend does not exist.
  -
  -          **Use**: Indicates that route tables might be stale. Stale routing tables suggest an issue in the route
  -          register management plane, which indicates that something has likely changed with the locations of the
  -          containers. Always investigate unexpected increases in this metric.
  +          The lifetime number of bad gateways, or 502 responses, from the
  +          Gorouter itself, emitted per Gorouter instance.  The
  +          Gorouter emits a 502 bad gateway error when it has a route
  +          in the routing table and, in attempting to make a connection
  +          to the backend, finds that the backend does not exist.
  +
  +          **Use**: Indicates that route tables might be stale. Stale
  +          routing tables suggest an issue in the route register
  +          management plane, which indicates that something has likely
  +          changed with the locations of the containers. Always
  +          investigate unexpected increases in this metric.
   
             **Origin**: Firehose
             **Type**: Count (Integer, Lifetime)
  
positive.code:       documentation:
          title: Latency by Router
          description: |
            The time in milliseconds that the Gorouter takes to handle requests to backend endpoints, which include both
            applications routable platform system APIs like Cloud Controller and UAA. This is the average round trip
            response time, which includes router handling.
  
            **Use**: Indicates how Gorouter jobs in PAS are impacting overall responsiveness. Latencies above 100 ms can
            indicate problems with the network, misbehaving backends, or the need to scale the Gorouter itself due to
            ongoing traffic congestion. An alert value on this metric should be tuned to the specifics of the deployment
            and its underlying network considerations; a suggested starting point is 100 ms.
  
            **Origin**: Firehose
            **Type**: Gauge (Float in ms)
  
negative.code:           * `route_emitter.HTTPRouteNATSMessagesEmitted` reports the lifetime number of route registration messages sent by the Route Emitter component. The metric is emitted for each Route Emitter.
            * `gorouter.registry_message.route-emitter` reports the lifetime number of route registration messages received by the Gorouter. The metric is emitted for each Gorouter instance.
  
            Dynamic configuration that enables the Gorouter to route
            HTTP requests to apps is published by the Route Emitter
            component colocated on each Diego cell to the NATS clustered
            message bus. All router instances subscribed to this message
            bus receive the same configuration. (Router instances within
            an isolation segment receive configuration only for cells in
            the same isolation segment.)
  
            As Gorouters prune app instances from the route when a TTL
            expires, each Route Emitter periodically publishes the
            routing configuration for the app instances on the same
            cell.
  
            Therefore, the aggregate number of route registration
            messages published by all the Route Emitters should be equal
            to the number of messages received by each Gorouter
            instance.
  
            **Use**: A difference in the rate of change of these metrics
              is an indication of an issue in the control plane
              responsible for updating the routers with changes to the
              routing table.
  
            It's recommended alerting when the number of messages
            received per second for a given router instance falls below
            the sum of messages emitted per second across all Route
            Emitters.
  
            If visualizing these metrics on a dashboard, look for
            increases in the difference between the rate of messages
            received and sent. If the number of messages received by a
            Gorouter instance drops below the sum of messages sent by
            the Route Emitters, this is an indication of a problem in
            the control plane.
  
            **Origin**: Firehose
            **Type**: Counter
  