You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by John Rushford <jr...@apache.org> on 2020/04/16 21:07:54 UTC

Host status metric change in ATS 8.1

Greetings,

With ATS 8.1 I would like find out if a change in the host status metric
from ATS 8.0 can be made.  Host status is new with 8.0 and I suspect not
many are using it yet so, we would like to make a change to the metric in
8.1.

The host status metrics are used in ATS by parent selection and traffic_ctl
to report and determine if a parent is available for use.  A user may use
the 'traffic_ctl host' command to mark a parent as up or down for use by
parent selection and that hosts status is then kept in a metric.  For
example in ATS 8.0 a metric could be:

*host_status.192.168.1.1 1.   *

the metric prefix "host_status" followed by a host name or IP and it's
current state:
 0 = unavailable
 1 = available.

In ATS 8.1 more features would be added to support health checking,
downtime, and more.  In order to serialize the state I've used this new
metric format:

*proxy.process.host_status.69.252.41.66
HOST_STATUS_UP,ACTIVE:UP:0:0,LOCAL:UP:0:0,MANUAL:UP:0:0,SELF_DETECT:UP:0*

This new format serializes the state of a host with reason codes and the
times that they were marked down and the state is loaded across restarts.
This format and the feature change is used in ATS 9.0 and was cherry-picked
into the new 8.1 branch.  Details regarding use of this feature are here:
https://docs.trafficserver.apache.org/en/latest/appendices/command-line/traffic_ctl.en.html?highlight=host%20status#cmdoption-traffic-ctl-host-arg-status

I would like to see if the community is agreeable to this metric and
feature change from 8.0 to 8.1.

thanks
John Rushford
jrushford@apache.org

Re: Host status metric change in ATS 8.1

Posted by Sudheer Vinukonda <su...@yahoo.com>.
 Ah apologies, John - I totally misread it. For a stat, it sounds fine to me!
    On Thursday, April 16, 2020, 03:06:30 PM PDT, John Rushford <jj...@gmail.com> wrote:  
 
 typo in my previous, it's a persistent stat to records.snap
On Thu, Apr 16, 2020 at 4:05 PM John Rushford <jj...@gmail.com> wrote:

Hi Sudheer, It's not a records.config entry it's a stat that is persisted to records.config.  HostStatus loads and deserializes the text into a struct kept in a hash table on startup.
On Thu, Apr 16, 2020 at 3:56 PM Sudheer Vinukonda <su...@yahoo.com> wrote:

 We don't use this, so I'm not opposed to the proposed change particularly if it means adding more capability :)
However, I do have one comment/concern - can we explore using a different config format to be less error prone/more readable? It seems a bit too complex and easily error-prone to have to encode the entire config into a records.config string. Perhaps, a separate config file or part of one of the existing config files and yaml or json format might be easier on the eye?
Just my 2c!

Thanks,
Sudheer
    On Thursday, April 16, 2020, 02:08:08 PM PDT, John Rushford <jr...@apache.org> wrote:  
 
 Greetings,
With ATS 8.1 I would like find out if a change in the host status metric from ATS 8.0 can be made.  Host status is new with 8.0 and I suspect not many are using it yet so, we would like to make a change to the metric in 8.1.

The host status metrics are used in ATS by parent selection and traffic_ctl to report and determine if a parent is available for use.  A user may use the 'traffic_ctl host' command to mark a parent as up or down for use by parent selection and that hosts status is then kept in a metric.  For example in ATS 8.0 a metric could be:
host_status.192.168.1.1 1.   

the metric prefix "host_status" followed by a host name or IP and it's current state: 0 = unavailable 1 = available.
In ATS 8.1 more features would be added to support health checking, downtime, and more.  In order to serialize the state I've used this new metric format:
proxy.process.host_status.69.252.41.66 HOST_STATUS_UP,ACTIVE:UP:0:0,LOCAL:UP:0:0,MANUAL:UP:0:0,SELF_DETECT:UP:0

This new format serializes the state of a host with reason codes and the times that they were marked down and the state is loaded across restarts.  This format and the feature change is used in ATS 9.0 and was cherry-picked into the new 8.1 branch.  Details regarding use of this feature are here:  https://docs.trafficserver.apache.org/en/latest/appendices/command-line/traffic_ctl.en.html?highlight=host%20status#cmdoption-traffic-ctl-host-arg-status
I would like to see if the community is agreeable to this metric and feature change from 8.0 to 8.1.
thanksJohn Rushfordjrushford@apache.org  


-- 
John Rushford
jjrushford@gmail.com


-- 
John Rushford
jjrushford@gmail.com  

Re: Host status metric change in ATS 8.1

Posted by John Rushford <jj...@gmail.com>.
typo in my previous, it's a persistent stat to records.snap

On Thu, Apr 16, 2020 at 4:05 PM John Rushford <jj...@gmail.com> wrote:

> Hi Sudheer, It's not a records.config entry it's a stat that is persisted
> to records.config.  HostStatus loads and deserializes the text into a
> struct kept in a hash table on startup.
>
> On Thu, Apr 16, 2020 at 3:56 PM Sudheer Vinukonda <
> sudheervinukonda@yahoo.com> wrote:
>
>> We don't use this, so I'm not opposed to the proposed change particularly
>> if it means adding more capability :)
>>
>> However, I do have one comment/concern - can we explore using a different
>> config format to be less error prone/more readable? It seems a bit too
>> complex and easily error-prone to have to encode the entire config into a
>> records.config string. Perhaps, a separate config file or part of one of
>> the existing config files and yaml or json format might be easier on the
>> eye?
>>
>> Just my 2c!
>>
>> Thanks,
>>
>> Sudheer
>>
>> On Thursday, April 16, 2020, 02:08:08 PM PDT, John Rushford <
>> jrushford@apache.org> wrote:
>>
>>
>> Greetings,
>>
>> With ATS 8.1 I would like find out if a change in the host status metric
>> from ATS 8.0 can be made.  Host status is new with 8.0 and I suspect not
>> many are using it yet so, we would like to make a change to the metric in
>> 8.1.
>>
>> The host status metrics are used in ATS by parent selection and
>> traffic_ctl to report and determine if a parent is available for use.  A
>> user may use the 'traffic_ctl host' command to mark a parent as up or down
>> for use by parent selection and that hosts status is then kept in a
>> metric.  For example in ATS 8.0 a metric could be:
>>
>> *host_status.192.168.1.1 1.   *
>>
>> the metric prefix "host_status" followed by a host name or IP and it's
>> current state:
>>  0 = unavailable
>>  1 = available.
>>
>> In ATS 8.1 more features would be added to support health checking,
>> downtime, and more.  In order to serialize the state I've used this new
>> metric format:
>>
>> *proxy.process.host_status.69.252.41.66
>> HOST_STATUS_UP,ACTIVE:UP:0:0,LOCAL:UP:0:0,MANUAL:UP:0:0,SELF_DETECT:UP:0*
>>
>> This new format serializes the state of a host with reason codes and the
>> times that they were marked down and the state is loaded across restarts.
>> This format and the feature change is used in ATS 9.0 and was cherry-picked
>> into the new 8.1 branch.  Details regarding use of this feature are here:
>> https://docs.trafficserver.apache.org/en/latest/appendices/command-line/traffic_ctl.en.html?highlight=host%20status#cmdoption-traffic-ctl-host-arg-status
>>
>> I would like to see if the community is agreeable to this metric and
>> feature change from 8.0 to 8.1.
>>
>> thanks
>> John Rushford
>> jrushford@apache.org
>>
>
>
> --
> John Rushford
> jjrushford@gmail.com
>


-- 
John Rushford
jjrushford@gmail.com

Re: Host status metric change in ATS 8.1

Posted by John Rushford <jj...@gmail.com>.
Hi Sudheer, It's not a records.config entry it's a stat that is persisted
to records.config.  HostStatus loads and deserializes the text into a
struct kept in a hash table on startup.

On Thu, Apr 16, 2020 at 3:56 PM Sudheer Vinukonda <
sudheervinukonda@yahoo.com> wrote:

> We don't use this, so I'm not opposed to the proposed change particularly
> if it means adding more capability :)
>
> However, I do have one comment/concern - can we explore using a different
> config format to be less error prone/more readable? It seems a bit too
> complex and easily error-prone to have to encode the entire config into a
> records.config string. Perhaps, a separate config file or part of one of
> the existing config files and yaml or json format might be easier on the
> eye?
>
> Just my 2c!
>
> Thanks,
>
> Sudheer
>
> On Thursday, April 16, 2020, 02:08:08 PM PDT, John Rushford <
> jrushford@apache.org> wrote:
>
>
> Greetings,
>
> With ATS 8.1 I would like find out if a change in the host status metric
> from ATS 8.0 can be made.  Host status is new with 8.0 and I suspect not
> many are using it yet so, we would like to make a change to the metric in
> 8.1.
>
> The host status metrics are used in ATS by parent selection and
> traffic_ctl to report and determine if a parent is available for use.  A
> user may use the 'traffic_ctl host' command to mark a parent as up or down
> for use by parent selection and that hosts status is then kept in a
> metric.  For example in ATS 8.0 a metric could be:
>
> *host_status.192.168.1.1 1.   *
>
> the metric prefix "host_status" followed by a host name or IP and it's
> current state:
>  0 = unavailable
>  1 = available.
>
> In ATS 8.1 more features would be added to support health checking,
> downtime, and more.  In order to serialize the state I've used this new
> metric format:
>
> *proxy.process.host_status.69.252.41.66
> HOST_STATUS_UP,ACTIVE:UP:0:0,LOCAL:UP:0:0,MANUAL:UP:0:0,SELF_DETECT:UP:0*
>
> This new format serializes the state of a host with reason codes and the
> times that they were marked down and the state is loaded across restarts.
> This format and the feature change is used in ATS 9.0 and was cherry-picked
> into the new 8.1 branch.  Details regarding use of this feature are here:
> https://docs.trafficserver.apache.org/en/latest/appendices/command-line/traffic_ctl.en.html?highlight=host%20status#cmdoption-traffic-ctl-host-arg-status
>
> I would like to see if the community is agreeable to this metric and
> feature change from 8.0 to 8.1.
>
> thanks
> John Rushford
> jrushford@apache.org
>


-- 
John Rushford
jjrushford@gmail.com

Re: Host status metric change in ATS 8.1

Posted by John Rushford <jj...@gmail.com>.
Hi Sudheer, It's not a records.config entry it's a stat that is persisted
to records.config.  HostStatus loads and deserializes the text into a
struct kept in a hash table on startup.

On Thu, Apr 16, 2020 at 3:56 PM Sudheer Vinukonda <
sudheervinukonda@yahoo.com> wrote:

> We don't use this, so I'm not opposed to the proposed change particularly
> if it means adding more capability :)
>
> However, I do have one comment/concern - can we explore using a different
> config format to be less error prone/more readable? It seems a bit too
> complex and easily error-prone to have to encode the entire config into a
> records.config string. Perhaps, a separate config file or part of one of
> the existing config files and yaml or json format might be easier on the
> eye?
>
> Just my 2c!
>
> Thanks,
>
> Sudheer
>
> On Thursday, April 16, 2020, 02:08:08 PM PDT, John Rushford <
> jrushford@apache.org> wrote:
>
>
> Greetings,
>
> With ATS 8.1 I would like find out if a change in the host status metric
> from ATS 8.0 can be made.  Host status is new with 8.0 and I suspect not
> many are using it yet so, we would like to make a change to the metric in
> 8.1.
>
> The host status metrics are used in ATS by parent selection and
> traffic_ctl to report and determine if a parent is available for use.  A
> user may use the 'traffic_ctl host' command to mark a parent as up or down
> for use by parent selection and that hosts status is then kept in a
> metric.  For example in ATS 8.0 a metric could be:
>
> *host_status.192.168.1.1 1.   *
>
> the metric prefix "host_status" followed by a host name or IP and it's
> current state:
>  0 = unavailable
>  1 = available.
>
> In ATS 8.1 more features would be added to support health checking,
> downtime, and more.  In order to serialize the state I've used this new
> metric format:
>
> *proxy.process.host_status.69.252.41.66
> HOST_STATUS_UP,ACTIVE:UP:0:0,LOCAL:UP:0:0,MANUAL:UP:0:0,SELF_DETECT:UP:0*
>
> This new format serializes the state of a host with reason codes and the
> times that they were marked down and the state is loaded across restarts.
> This format and the feature change is used in ATS 9.0 and was cherry-picked
> into the new 8.1 branch.  Details regarding use of this feature are here:
> https://docs.trafficserver.apache.org/en/latest/appendices/command-line/traffic_ctl.en.html?highlight=host%20status#cmdoption-traffic-ctl-host-arg-status
>
> I would like to see if the community is agreeable to this metric and
> feature change from 8.0 to 8.1.
>
> thanks
> John Rushford
> jrushford@apache.org
>


-- 
John Rushford
jjrushford@gmail.com

Re: Host status metric change in ATS 8.1

Posted by Sudheer Vinukonda <su...@yahoo.com.INVALID>.
 We don't use this, so I'm not opposed to the proposed change particularly if it means adding more capability :)
However, I do have one comment/concern - can we explore using a different config format to be less error prone/more readable? It seems a bit too complex and easily error-prone to have to encode the entire config into a records.config string. Perhaps, a separate config file or part of one of the existing config files and yaml or json format might be easier on the eye?
Just my 2c!

Thanks,
Sudheer
    On Thursday, April 16, 2020, 02:08:08 PM PDT, John Rushford <jr...@apache.org> wrote:  
 
 Greetings,
With ATS 8.1 I would like find out if a change in the host status metric from ATS 8.0 can be made.  Host status is new with 8.0 and I suspect not many are using it yet so, we would like to make a change to the metric in 8.1.

The host status metrics are used in ATS by parent selection and traffic_ctl to report and determine if a parent is available for use.  A user may use the 'traffic_ctl host' command to mark a parent as up or down for use by parent selection and that hosts status is then kept in a metric.  For example in ATS 8.0 a metric could be:
host_status.192.168.1.1 1.   

the metric prefix "host_status" followed by a host name or IP and it's current state: 0 = unavailable 1 = available.
In ATS 8.1 more features would be added to support health checking, downtime, and more.  In order to serialize the state I've used this new metric format:
proxy.process.host_status.69.252.41.66 HOST_STATUS_UP,ACTIVE:UP:0:0,LOCAL:UP:0:0,MANUAL:UP:0:0,SELF_DETECT:UP:0

This new format serializes the state of a host with reason codes and the times that they were marked down and the state is loaded across restarts.  This format and the feature change is used in ATS 9.0 and was cherry-picked into the new 8.1 branch.  Details regarding use of this feature are here:  https://docs.trafficserver.apache.org/en/latest/appendices/command-line/traffic_ctl.en.html?highlight=host%20status#cmdoption-traffic-ctl-host-arg-status
I would like to see if the community is agreeable to this metric and feature change from 8.0 to 8.1.
thanksJohn Rushfordjrushford@apache.org  

Re: Host status metric change in ATS 8.1

Posted by Sudheer Vinukonda <su...@yahoo.com>.
 We don't use this, so I'm not opposed to the proposed change particularly if it means adding more capability :)
However, I do have one comment/concern - can we explore using a different config format to be less error prone/more readable? It seems a bit too complex and easily error-prone to have to encode the entire config into a records.config string. Perhaps, a separate config file or part of one of the existing config files and yaml or json format might be easier on the eye?
Just my 2c!

Thanks,
Sudheer
    On Thursday, April 16, 2020, 02:08:08 PM PDT, John Rushford <jr...@apache.org> wrote:  
 
 Greetings,
With ATS 8.1 I would like find out if a change in the host status metric from ATS 8.0 can be made.  Host status is new with 8.0 and I suspect not many are using it yet so, we would like to make a change to the metric in 8.1.

The host status metrics are used in ATS by parent selection and traffic_ctl to report and determine if a parent is available for use.  A user may use the 'traffic_ctl host' command to mark a parent as up or down for use by parent selection and that hosts status is then kept in a metric.  For example in ATS 8.0 a metric could be:
host_status.192.168.1.1 1.   

the metric prefix "host_status" followed by a host name or IP and it's current state: 0 = unavailable 1 = available.
In ATS 8.1 more features would be added to support health checking, downtime, and more.  In order to serialize the state I've used this new metric format:
proxy.process.host_status.69.252.41.66 HOST_STATUS_UP,ACTIVE:UP:0:0,LOCAL:UP:0:0,MANUAL:UP:0:0,SELF_DETECT:UP:0

This new format serializes the state of a host with reason codes and the times that they were marked down and the state is loaded across restarts.  This format and the feature change is used in ATS 9.0 and was cherry-picked into the new 8.1 branch.  Details regarding use of this feature are here:  https://docs.trafficserver.apache.org/en/latest/appendices/command-line/traffic_ctl.en.html?highlight=host%20status#cmdoption-traffic-ctl-host-arg-status
I would like to see if the community is agreeable to this metric and feature change from 8.0 to 8.1.
thanksJohn Rushfordjrushford@apache.org