telemetry

package
v0.6.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2026 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// PostHogAPIKey is set at build time for production
	PostHogAPIKey = "phc_development_key"
	// PostHogEndpoint is set at build time for production
	PostHogEndpoint = "https://eu.i.posthog.com"
)

Functions

func SendEvent

func SendEvent(payloadJSON string)

SendEvent processes an event payload in the detached subprocess. This is called by the hidden __send_analytics command.

func TrackCommandDetached

func TrackCommandDetached(cmd *cobra.Command, agent string, isEntireEnabled bool, version string)

TrackCommandDetached tracks a command execution by spawning a detached subprocess. This returns immediately without blocking the CLI.

func TrackPluginDetached added in v0.6.1

func TrackPluginDetached(pluginName string, isEntireEnabled bool, version string)

TrackPluginDetached records a plugin invocation. Call sites must gate on the plugin allowlist — this function does no name filtering itself.

Types

type EventPayload

type EventPayload struct {
	Event      string         `json:"event"`
	DistinctID string         `json:"distinct_id"`
	Properties map[string]any `json:"properties"`
	Timestamp  time.Time      `json:"timestamp"`
}

EventPayload represents the data passed to the detached subprocess. Note: APIKey and Endpoint are intentionally excluded to avoid exposing them in process listings (ps/top). SendEvent reads them from package-level vars.

func BuildEventPayload

func BuildEventPayload(cmd *cobra.Command, agent string, isEntireEnabled bool, version string) *EventPayload

BuildEventPayload constructs the event payload for tracking. Exported for testing. Returns nil if the payload cannot be built.

func BuildPluginEventPayload added in v0.6.1

func BuildPluginEventPayload(pluginName string, isEntireEnabled bool, version string) *EventPayload

BuildPluginEventPayload deliberately omits plugin args/flags — only the allowlisted plugin name is recorded. Returns nil on failure.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL