GitHub user jpeach opened a pull request:

    https://github.com/apache/trafficserver/pull/422

    TS 4099 Implement Lua support for custom metrics

    This patch series implements custom metrics in terms of Lua. This provides 
a more general way for operators to write their own metrics, removes the need 
to recompile Traffic Server to add new custom metrics and starts paving the way 
for more general Lua support in Traffic Server configuration.
    
    @shukitchan @zwoop 

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/jpeach/trafficserver TS-4099

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/trafficserver/pull/422.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #422
    
----
commit d9d2adfd35416b3e107054b67eacf71f640e07dc
Author: James Peach <jpe...@apache.org>
Date:   2015-11-24T23:59:54Z

    TS-4099: add core library infrastructure for Lua bindings
    
    This adds a libbindings.la library with a convenience wrapper class
    for dealing with a Lua state and binding APIs into it. We also add
    some low-level Lua convenience APIs that end up being useful.

commit 2f7436de90ec57f956ae07a85f9b2bd4f155dbbd
Author: James Peach <jpe...@apache.org>
Date:   2015-11-25T00:08:25Z

    TS-4099: add generic Lua bindings for metrics
    
    This adds binding for metrics such that metric value can be queried
    from within Lua by using their full names.

commit e0e08250c0d13dea2c8dc864e6f335c7a36fa2b2
Author: James Peach <jpe...@apache.org>
Date:   2015-11-25T00:19:37Z

    TS-4099: add Lua bindings for custom metrics
    
    Implement custom metrics in terms of Lua bindings. We export a
    minimal API that constructs metrics and implicitly registers an
    evaluation function. We periodically evaluate all the evaluation
    functions and update their corresponding metrics.
    
    Metrics are implicitly registered when they are loaded, so there
    is no need to mention anything in mgmt/RecordsConfig.cc.
    
    The metrics registration and evaluation syntax looks like this:
    
      integer 'proxy.node.http.user_agents_total_documents_served' [[
          proxy.process.http.incoming_requests
      ]]

commit 75f838f001d06c65643b5977f1ed527564885e6c
Author: James Peach <jpe...@apache.org>
Date:   2015-12-28T01:02:13Z

    TS-4099: missing proxy.process.http.transaction_counts.errors.errors
    
    proxy.process.http.transaction_counts.errors.errors doesn't exist,
    so replace it with proxy.process.http.transaction_counts.errors.other
    where applicable.

commit 303e365fa6987575d4dcc3df3eb7339f431f2587
Author: James Peach <jpe...@apache.org>
Date:   2015-12-28T01:04:52Z

    TS-4099: missing proxy.process.http.transaction_counts.errors.early_hangups
    
    proxy.process.http.transaction_counts.errors.early_hangups doesn't
    exist, so remove mentions of it and metrics that depend on it.

commit 6d9a4cdacc6f285069f412f856a5dc70af4ac5a7
Author: James Peach <jpe...@apache.org>
Date:   2015-12-28T01:07:13Z

    TS-4099: missing proxy.process.http.transaction_counts.errors.empty_hangups
    
    proxy.process.http.transaction_counts.errors.empty_hangups doesn't
    exist, so remove mentions of it and metrics that depend on it.

commit d403a877d3f07dff3029a492519fce413e1d0893
Author: James Peach <jpe...@apache.org>
Date:   2015-12-31T00:36:24Z

    TS-4099: add automatic metrics namespace management
    
    Rather than hardcoding the set of metrics namespace prefixes, poll
    it at runtime. We keep polling until the namespace converges and
    periodically thereafter to account for metrics created by plugins.

commit f7834526bc8225e89be8222cba92b239230cb7c7
Author: James Peach <jpe...@apache.org>
Date:   2016-01-01T01:33:05Z

    TS-4099: fix a couple of metrics syntax problems

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to