Searching DEV server logs in Google Cloud Logging
SkillSearchSearch Google Cloud (GKE) server logs of the DEV environment (dev.voxt.ai). Use when troubleshooting anything that needs the server side of the story — stream stalls, RPC peer changes / reconnects, watchdog closures, mesh/node churn, pod restarts — or when the user says "check GCP logs", "check server logs on dev", or gives a dev.voxt.ai timeline from a client console log.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Searching DEV server logs in Google Cloud Logging skill
What this skill tells your AI
The instructions your AI receives, as published by actual-chat/actual-chat in .claude/skills/gcloud-dev-logs/SKILL.md and read by ahel’s review.
Setup facts
- Project:
actual-chat-app-dev(usually already the activegcloud configproject). - App container filter:
resource.labels.container_name="actual-chat-app". - Auth:
gcloud auth listmust show an active account. If not, ask the user to run! gcloud auth login— never attempt it yourself. - All log timestamps are UTC. Client console timestamps (dev.voxt.ai) are also UTC — they align 1:1.
Query template
gcloud logging read \
'resource.labels.container_name="actual-chat-app"
AND timestamp>="2026-07-22T05:12:00Z" AND timestamp<="2026-07-22T05:17:00Z"
AND textPayload:"<term>"' \
--project=actual-chat-app-dev \
--format='value(timestamp, textPayload)' \
--order=asc | head -80
- Always bound
timestampon both ends; unbounded queries are slow and get truncated. Start with a ±3-5 min window around the incident and widen only if needed. textPayload:"x"is a substring match; combine withAND/ORin parentheses.--order=asc+headgives a readable timeline; default order is desc.- Add
resource.labels.pod_nameto--format='value(...)'when multiple pods matter.
Useful search terms
| Looking for | Term |
|---|---|
| A specific media stream | short stream-id fragment, e.g. "XDWKB" (ids look like <nodeId>-01KY43XDWKB0…; the prefix before -01… is the serving NODE id, not the author) |
| Publish start | "PushStream: VideoRecord" / "PushStream: AudioRecord" |
| Server killed a silent stream | "Stale stream watchdog" |
| Stream registration / viewers | "RegisterActiveStream", "GetStream: first frame", "GetVideoRaw" |
| Demand fan-out | "SubscribeToDemand", "DemandInfo" |
| Mesh / pod churn (client peer-change trigger) | "UpdateOnlineNodes", "ComputeState", "Rerouting", "Shards @" |
| Keyframe requests | "RequestKeyFrame" |
Method
- Take the incident time from the client console log (UTC) and query a bounded window.
- Search by the most specific token first (stream id fragment), then widen to
generic terms (
PushStream,watchdog,UpdateOnlineNodes) in the same window. - Correlate: a burst of
UpdateOnlineNodes/Rerouting= node churn — expect client-sidepeerChanged=truereconnects at the same moment.
Signals
- GitHub stars
- 55
- Forks
- 10
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
gcloud-dev-logs- Source
- github.com/actual-chat/actual-chat