While I'm curious how much bigger a CRConfig would be (in terms of %
of existing size) with the monitoring.json stuff merged into it, I
don't think we really need to worry about bandwidth usage from
CRConfig at this point. That is a very environment-specific issue, and
we could mitigate that fairly easily by having TR request the CRConfig
in gzipped format and making sure TM supports that (maybe it already
does). Extra CPU usage from larger CRConfigs should be negligible,
since TR ignores unknown json fields by default and only parses out
what it needs.

It seems to make sense, given the fact that TM and TR have to remain
tightly synced and consume much of the same information, that they
should request and consume the exact same config file from TO. In
addition to the race conditions, it would fix the issue of
monitoring.json not currently being included in the snapshot diff in
Traffic Portal as well.

- Rawlin

On Mon, Dec 30, 2019 at 11:31 AM Robert O Butts <[email protected]> wrote:
>
> The CRConfig only has what Traffic Router needs. The `monitoring.json` has
> things in it that Traffic Monitor needs, that Traffic Router doesn't.
> Specifically Server Profile data, specifically thresholds and poll times.
>
> The `monitoring.json` does also have a ton of data that's also in the
> CRConfig. We should really clean that up. The Monitor treats CRConfig as
> authoritative, and ignores any data in monitoring.json that's also in
> CRConfig. But it's not really hurting anything.
>
> I wouldn't be opposed to combining them, and just having one object, and
> then the Router would just ignore the data it didn't need. It'd certainly
> make synchronization easier; there are some seriously nasty races between
> them; see https://github.com/apache/trafficcontrol/issues/1739 and
> https://github.com/apache/trafficcontrol/issues/1738. But it'd also mean
> wasting bandwidth and potentially CPU on the Router.
>
>
> On Mon, Dec 30, 2019 at 11:20 AM Eric Friedrich <[email protected]> wrote:
>
> > What is the difference between monitoring.json and CRConfig? Traffic
> > Monitor fetches both of them and the CRConfig seems like a superset of
> > monitoring.
> >
> >
> > --Eric
> >

Reply via email to