Skip to content

feat(container-indicator): add live performance, configuration, and terminal access - #511

Open
AndrewDi wants to merge 1 commit into
mactools-app:mainfrom
AndrewDi:feat/container-indicator-live-stats
Open

AndrewDi wants to merge 1 commit into
mactools-app:mainfrom
AndrewDi:feat/container-indicator-live-stats

Conversation

@AndrewDi

Copy link
Copy Markdown
Contributor

Summary

  • Show live CPU, memory, and disk throughput for each running container, derived from two container stats samples.
  • Add an ⓘ button that opens a configuration window with the full container list configuration (resources, runtime, network, process, and environment variable names only).
  • Add one-click terminal access for running containers (container exec -it) and machines (container machine run -n), opened through the user's default terminal.

Details

  • CPU percentage is relative to the container's configured cores, so 100% means the whole allotment is busy.
  • container stats --format json --no-stream is skipped entirely when nothing runs, avoiding its internal two-second sampling delay.
  • A failed stats read keeps the previous numbers visible and reports the failure; hiding the panel clears the sample baseline.
  • Terminal scripts are written as .command files in the user's temporary directory, validated before writing, and opened through LaunchServices to avoid AppleScript automation prompts.
  • Environment values are masked in the configuration window because container list exposes secrets such as database passwords.

Validation

  • make test TEST_FILTER=ContainerIndicatorPluginTests — 32 tests passed (14 new).
  • make script-tests — 232 tests passed.
  • make build — Debug app and plugin built.
  • make validate-changelog — passed.

This branch has not been deployed

No deployments
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.

1 participant