Provided by: trafficserver-dev_9.1.3+ds-1_amd64 bug

NAME

       Plugin  Statistics  -  a plugin can create statistics (metrics) that are accessible in the
       same way as Traffic Server core statistics. In general monitoring the behavior of  plugins
       in production is easier to do in this way in contrast to processing log files

SYNOPSIS

          #include <ts/ts.h>

       int  TSStatCreate(const  char *name, TSRecordDataType type, TSStatPersistence persistence,
       TSStatSync sync_style)

       TSReturnCode TSStatFindName(const char *name, int *idx_ptr)

       TSMgmtInt TSStatIntGet(int idx)

       void TSStatIntSet(int idx, TSMgmtInt value)

       void TSStatIntIncrement(int idx, TSMgmtInt value)

       void TSStatIntDecrement(int idx, TSMgmtInt value)

       typedef void (*TSRecordDumpCb)(TSRecordType *type, void *edata, int registered, const char
       *name, TSRecordDataType type, TSRecordData *datum)

       void TSRecordDump(TSRecordType rect_type, TSRecordDumpCb callback, void *edata)

DESCRIPTION

       A  plugin  statistic  is  created  by TSStatCreate(). The name must be globally unique and
       should follow the standard dotted tag form. To avoid collisions and for easy  of  use  the
       first  tag  should  be the plugin name or something easily derived from it. Currently only
       integers are supported therefore type must be TS_RECORDDATATYPE_INT. The return  value  is
       the  index of the statistic. In general this should work but if it doesn't it will assert.
       In particular, creating the same statistic twice will fail in this way, which  can  happen
       if statistics are created as part of or based on configuration files and Traffic Server is
       reloaded.

       TSStatFindName() locates a statistic by name. If found the function returns TS_SUCCESS and
       the  value pointed at by idx_ptr is updated to be the index of the statistic. Otherwise it
       returns TS_ERROR.

       The values in statistics are manipulated by TSStatIntSet() to set the statistic  directly,
       TSStatIntIncrement()  to  increase it by value, and TSStatIntDecrement() to decrease it by
       value.

       A group of records can be examined via TSRecordDump(). A set of records is  specified  and
       the iterated over. For each record in the set the callbac callback is invoked.

       The  records  are  specified by the TSRecordType. This this is TS_RECORDTYPE_NULL then all
       records are examined. The callback is passed

          type   The record type.

          edata  Callback context. This is the edata value passed to TSRecordDump().

          registered
                 A flag indicating if the value has been registered.

          name   The name of the record. This is nul terminated.

          type   The storage type of the data in the record.

          datum  The record data.

RETURN VALUES

       TSMgmtStringCreate() and TSMgmtIntCreate() return TS_SUCCESS if the management  value  was
       created and TS_ERROR if not.

SEE ALSO

       Adding Statistics TSAPI(3ts)

COPYRIGHT

       2022, dev@trafficserver.apache.org