procmeta

package
v0.8.12 Latest Latest
Warning

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

Go to latest
Published: Jul 6, 2026 License: BSD-3-Clause Imports: 1 Imported by: 0

Documentation

Overview

Package procmeta manages process metadata lifecycle.

ProcessMetadata holds environment variables, command-line arguments, and full command line for expression evaluation.

Manager provides command-query separation:

Queries (read-only):

  • Get(pid) - Retrieve metadata
  • GetError(pid) - Retrieve collection errors
  • GetIssues(pid) - Retrieve capture warnings

Commands (mutations):

  • Set(pid, metadata) - Store metadata
  • SetError(pid, err) - Store collection error
  • AddIssue(pid, issue) - Add capture warning
  • Delete(pid) - Clean up on process exit
  • GetOrCreate(pid) - Atomic get-or-create

Thread-safe with RWMutex for concurrent access.

Package procmeta collects process metadata from /proc filesystem.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

Manager manages process metadata lifecycle. It provides command-query separation for metadata access.

func NewManager

func NewManager() *Manager

NewManager creates a new process metadata manager.

func (*Manager) AddIssue

func (m *Manager) AddIssue(pid uint32, issue string)

AddIssue adds a capture issue for a PID (command).

func (*Manager) AddIssues

func (m *Manager) AddIssues(pid uint32, issues []string)

AddIssues adds multiple capture issues for a PID (command).

func (*Manager) Delete

func (m *Manager) Delete(pid uint32)

Delete removes all data for a PID (command). This should be called when a process exits.

func (*Manager) Get

func (m *Manager) Get(pid uint32) *ProcessMetadata

Get retrieves metadata for a PID (query). Returns nil if no metadata exists for this PID.

func (*Manager) GetError

func (m *Manager) GetError(pid uint32) error

GetError retrieves the metadata collection error for a PID (query). Returns nil if no error exists for this PID.

func (*Manager) GetIssues

func (m *Manager) GetIssues(pid uint32) []string

GetIssues retrieves the capture issues for a PID (query). Returns nil if no issues exist for this PID.

func (*Manager) GetOrCreate

func (m *Manager) GetOrCreate(pid uint32) *ProcessMetadata

GetOrCreate retrieves metadata for a PID, creating it if it doesn't exist (command). Returns the metadata (existing or newly created).

func (*Manager) Set

func (m *Manager) Set(pid uint32, metadata *ProcessMetadata)

Set stores metadata for a PID (command). If metadata already exists, it is replaced.

func (*Manager) SetError

func (m *Manager) SetError(pid uint32, err error)

SetError stores a metadata collection error for a PID (command).

type ProcessMetadata

type ProcessMetadata struct {
	Environ     map[string]string // Parsed environment variables
	Args        []string          // Command-line arguments
	CmdlineFull string            // Full command line as single string
}

ProcessMetadata holds structured process information for expression evaluation.

Jump to

Keyboard shortcuts

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