devinbost opened a new pull request #6105: [pulsar-function-go] (WIP) Add 
statistics and Prometheus to Go Function instances for production readiness
URL: https://github.com/apache/pulsar/pull/6105
 
 
   Master issue: #4175
   This PR also depends on the code in #6031 .
   
   This PR is to add statistics (to enable calls to get function status, get 
function stats, and get other metrics) for Pulsar Admin usage and for sending 
to Prometheus. 
   Because Prometheus Go did not support some of the ways that we depended on 
to interact with Prometheus in the Python and Java Pulsar code, this change was 
more significant and diverges slightly from the approaches used for the other 
parts of the Pulsar codebase. However, based on feedback from the core 
maintainers of Prometheus, there is a risk that they may deprecate the other 
ways that we're using their library. So, the approaches used in this PR should 
serve as the new standard.  For more information about the issues with 
Prometheus, please see the discussion here: 
https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!topic/prometheus-users/NpkERPC17H4
   
   ### Motivation
   
   The current implementation of Go functions in Pulsar is missing key 
statistical information and other information that is critical for determining 
the health and reliability of Go functions in production. This PR solves that 
problem. 
   
   ### Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): (yes)
     - The public API: (sort of)
   It adds functionality that didn't previously exist for Go functions.
     - The schema: (no)
     - The default values of configurations: (no)
     - The wire protocol: (no)
     - The rest endpoints: (sort of)
   It adds functionality that didn't previously exist for Go functions.
     - The admin cli options: (sort of)
   It adds functionality that didn't previously exist for Go functions.
     - Anything that affects deployment: (possibly, though unlikely, due to new 
dependencies)
   
   ### Documentation
   
     - Does this pull request introduce a new feature? (sort of)
   Prometheus metrics were changed slightly. We needed to replace many of the 
Prometheus Counters with Gauges due to limitations in the Prometheus Go client. 
     - If yes, how is the feature documented? (not documented)
     - If a feature is not applicable for documentation, explain why?
   More documentation will need to be created as Go functions become more 
production-ready. 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to