Skip to content

pmlogger, pmproxy: archive "push" functionality #2214

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

natoscott
Copy link
Member

Extension to the pmlogger utility to allow remote PCP archive creation using a push mechanism, based on HTTP and a PMWEBAPI /logger API, instead of the traditional pmcd pull mechanism.

Archives can be pushed to a remote pmproxy server as they are being created by pmlogger, instead of (or as well as) written to local disk, using the -R/--remote option.

A pmlogpush(1) utility is added to perform this 'remote push' functionality for existing archives.

This commit includes libpcp_web improvements to its existing HTTP GET operation (incl. transition of existing PMDAs using this interface) and addition of a consistent POST operation, which is used by pmlogger and pmlogpush.

Resolves #2059

@natoscott natoscott requested a review from kmcdonell May 29, 2025 04:42
@natoscott natoscott force-pushed the pmlogpush branch 2 times, most recently from b4ecf92 to 003fb33 Compare May 30, 2025 04:44
Extension to the pmlogger utility to allow remote PCP archive
creation using a push mechanism, based on HTTP and a PMWEBAPI
/logger API, instead of the traditional pmcd pull mechanism.

Archives can be pushed to a remote pmproxy server as they are
being created by pmlogger, instead of (or as well as) written
to local disk, using the -R/--remote option.

A pmlogpush(1) utility is added to perform this 'remote push'
functionality for existing archives.

This commit includes libpcp_web improvements to its existing
HTTP GET operation (incl. transition of existing PMDAs using
this interface) and addition of a consistent POST operation,
which is used by pmlogger and pmlogpush.

Resolves performancecopilot#2059
Integrating pmlogger push mode with key server indexing.

This commit fixes stat-based timestamp use in the libpcp_web
discovery code, which was disconnected (now statbuf refers to
the latest .meta file state as I believe originally intended).

Additionally, the libpcp pmNewContext code now allows "empty"
archives (just labels) as valid, in the case where we perform
net-streaming or file-based archive discovery.  The "last log
volume" new context flag is used to identify this mode.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[RFE] pmlogger push protocol
1 participant