Thanks to visit codestin.com
Credit goes to github.com

Skip to content

last_used_at continues to increment with workspace-usage experiment #15174

@f0ssel

Description

@f0ssel

Despite clients disconnecting the workspace last_used_at seems to be incremented by the coderd.workspace_usage_tracker continually when the workspace-usage experiment is enabled.

It seems to be getting bumped every 30 seconds, evern with no clients open and no dashboard page loaded.

{"id":"f45e7b85-14cd-419e-bcdd-0d6dfd97351e","created_at":"2024-10-21T15:53:04.74198Z","updated_at":"2024-10-21T15:53:04.74198Z","owner_id":"cdacc3cd-8dde-4609-a441-cfe69b5f911d","owner_name":"member","owner_avatar_url":"","organization_id":"55b292e3-d36b-468b-aab4-c4fe395ac1aa","organization_name":"coder","template_id":"6e25b107-6f72-4483-96d7-13fb46da37ac","template_name":"normal","template_display_name":"normal","template_icon":"/icon/docker.png","template_allow_user_cancel_workspace_jobs":false,"template_active_version_id":"4b26a5d9-9581-4a5f-8047-bcfec148c67f","template_require_active_version":false,"latest_build":{"id":"7dce5fd6-bd4f-43f1-8981-508e442d0a60","created_at":"2024-10-21T15:53:04.754076Z","updated_at":"2024-10-21T15:53:10.817429Z","workspace_id":"f45e7b85-14cd-419e-bcdd-0d6dfd97351e","workspace_name":"smoke-member-1","workspace_owner_id":"cdacc3cd-8dde-4609-a441-cfe69b5f911d","workspace_owner_name":"member","workspace_owner_avatar_url":"","template_version_id":"4b26a5d9-9581-4a5f-8047-bcfec148c67f","template_version_name":"peaceful_diffie6","build_number":1,"transition":"start","initiator_id":"cdacc3cd-8dde-4609-a441-cfe69b5f911d","initiator_name":"member","job":{"id":"8f14304c-d1f8-44c1-bf80-ab6ac0ded409","created_at":"2024-10-21T15:53:04.754076Z","started_at":"2024-10-21T15:53:04.759372Z","completed_at":"2024-10-21T15:53:10.817429Z","status":"succeeded","worker_id":"22babdf9-741c-42c8-a1ca-5d1dbcc4164f","file_id":"65ee2b1e-0335-45b1-968c-69a08f19b783","tags":{"owner":"","scope":"organization"},"queue_position":0,"queue_size":6},"reason":"initiator","resources":[{"id":"89138fbe-07f1-4403-b95e-50480705417d","created_at":"2024-10-21T15:53:10.825404Z","job_id":"8f14304c-d1f8-44c1-bf80-ab6ac0ded409","workspace_transition":"start","type":"docker_container","name":"workspace","hide":false,"icon":"","agents":[{"id":"42dc9508-6ca4-4e04-92a9-2ad84ae499e7","created_at":"2024-10-21T15:53:10.82627Z","updated_at":"2024-10-21T20:10:40.953639Z","first_connected_at":"2024-10-21T15:53:10.952529Z","last_connected_at":"2024-10-21T20:10:40.953636Z","started_at":"2024-10-21T15:53:10.974049Z","ready_at":"2024-10-21T15:53:15.009743Z","status":"connected","lifecycle_state":"ready","name":"main","resource_id":"89138fbe-07f1-4403-b95e-50480705417d","architecture":"amd64","environment_variables":{"GIT_AUTHOR_EMAIL":"[email protected]","GIT_AUTHOR_NAME":"Regular User","GIT_COMMITTER_EMAIL":"[email protected]","GIT_COMMITTER_NAME":"Regular User"},"operating_system":"linux","logs_length":1447,"logs_overflowed":false,"version":"v2.16.0-devel+13f6645ab","api_version":"2.2","apps":[{"id":"cb6dd23e-f1d5-46cf-8d34-a8728f403828","url":"http://localhost:13337/?folder=/home/member","external":false,"slug":"code-server","display_name":"code-server","icon":"/icon/code.svg","subdomain":false,"sharing_level":"owner","healthcheck":{"url":"http://localhost:13337/healthz","interval":5,"threshold":6},"health":"healthy","hidden":false}],"latency":{"Coder Embedded Relay":{"preferred":true,"latency_ms":0.29588200000000003}},"connection_timeout_seconds":120,"troubleshooting_url":"https://coder.com/docs/templates/troubleshooting","subsystems":[],"health":{"healthy":true},"display_apps":["vscode","ssh_helper","port_forwarding_helper","web_terminal"],"log_sources":[{"workspace_agent_id":"42dc9508-6ca4-4e04-92a9-2ad84ae499e7","id":"fd1457b6-5f2e-4bc9-8c59-278081611f09","created_at":"2024-10-21T15:53:10.828368Z","display_name":"Startup Script","icon":"/emojis/25b6.png"}],"scripts":[{"id":"5937c14f-10bc-461f-8127-b5620fd26ecb","log_source_id":"fd1457b6-5f2e-4bc9-8c59-278081611f09","log_path":"coder-startup-script.log","script":"set -e\n\n# Prepare user home with default files on first start.\nif [ ! -f ~/.init_done ]; then\n  cp -rT /etc/skel ~\n  touch ~/.init_done\nfi\n\n# Install the latest code-server.\n# Append \"--version x.x.x\" to install a specific version of code-server.\ncurl -fsSL https://code-server.dev/install.sh | sh -s -- --method=standalone --prefix=/tmp/code-server\n\n# Start code-server in the background.\n/tmp/code-server/bin/code-server --auth none --port 13337 \u003e/tmp/code-server.log 2\u003e\u00261 \u0026\n","cron":"","run_on_start":true,"run_on_stop":false,"start_blocks_login":false,"timeout":0,"display_name":"Startup Script"}],"startup_script_behavior":"non-blocking"}],"daily_cost":0},{"id":"b853ae0d-8efe-432a-b59e-921dabec17a0","created_at":"2024-10-21T15:53:10.830574Z","job_id":"8f14304c-d1f8-44c1-bf80-ab6ac0ded409","workspace_transition":"start","type":"docker_volume","name":"home_volume","hide":false,"icon":"","daily_cost":0},{"id":"62d32389-28ff-4710-a2e2-d55622ad8fd6","created_at":"2024-10-21T15:53:10.830079Z","job_id":"8f14304c-d1f8-44c1-bf80-ab6ac0ded409","workspace_transition":"start","type":"docker_image","name":"main","hide":false,"icon":"","daily_cost":0}],"deadline":"2024-10-22T15:53:10.817429Z","max_deadline":"2024-10-27T00:00:00Z","status":"running","daily_cost":0},"outdated":false,"name":"smoke-member-1","ttl_ms":86400000,"last_used_at":"2024-10-21T20:10:40.991848Z","deleting_at":null,"dormant_at":null,"health":{"healthy":true,"failing_agents":[]},"automatic_updates":"never","allow_renames":false,"favorite":false}
{"id":"f45e7b85-14cd-419e-bcdd-0d6dfd97351e","created_at":"2024-10-21T15:53:04.74198Z","updated_at":"2024-10-21T15:53:04.74198Z","owner_id":"cdacc3cd-8dde-4609-a441-cfe69b5f911d","owner_name":"member","owner_avatar_url":"","organization_id":"55b292e3-d36b-468b-aab4-c4fe395ac1aa","organization_name":"coder","template_id":"6e25b107-6f72-4483-96d7-13fb46da37ac","template_name":"normal","template_display_name":"normal","template_icon":"/icon/docker.png","template_allow_user_cancel_workspace_jobs":false,"template_active_version_id":"4b26a5d9-9581-4a5f-8047-bcfec148c67f","template_require_active_version":false,"latest_build":{"id":"7dce5fd6-bd4f-43f1-8981-508e442d0a60","created_at":"2024-10-21T15:53:04.754076Z","updated_at":"2024-10-21T15:53:10.817429Z","workspace_id":"f45e7b85-14cd-419e-bcdd-0d6dfd97351e","workspace_name":"smoke-member-1","workspace_owner_id":"cdacc3cd-8dde-4609-a441-cfe69b5f911d","workspace_owner_name":"member","workspace_owner_avatar_url":"","template_version_id":"4b26a5d9-9581-4a5f-8047-bcfec148c67f","template_version_name":"peaceful_diffie6","build_number":1,"transition":"start","initiator_id":"cdacc3cd-8dde-4609-a441-cfe69b5f911d","initiator_name":"member","job":{"id":"8f14304c-d1f8-44c1-bf80-ab6ac0ded409","created_at":"2024-10-21T15:53:04.754076Z","started_at":"2024-10-21T15:53:04.759372Z","completed_at":"2024-10-21T15:53:10.817429Z","status":"succeeded","worker_id":"22babdf9-741c-42c8-a1ca-5d1dbcc4164f","file_id":"65ee2b1e-0335-45b1-968c-69a08f19b783","tags":{"owner":"","scope":"organization"},"queue_position":0,"queue_size":6},"reason":"initiator","resources":[{"id":"89138fbe-07f1-4403-b95e-50480705417d","created_at":"2024-10-21T15:53:10.825404Z","job_id":"8f14304c-d1f8-44c1-bf80-ab6ac0ded409","workspace_transition":"start","type":"docker_container","name":"workspace","hide":false,"icon":"","agents":[{"id":"42dc9508-6ca4-4e04-92a9-2ad84ae499e7","created_at":"2024-10-21T15:53:10.82627Z","updated_at":"2024-10-21T20:11:25.954151Z","first_connected_at":"2024-10-21T15:53:10.952529Z","last_connected_at":"2024-10-21T20:11:25.954144Z","started_at":"2024-10-21T15:53:10.974049Z","ready_at":"2024-10-21T15:53:15.009743Z","status":"connected","lifecycle_state":"ready","name":"main","resource_id":"89138fbe-07f1-4403-b95e-50480705417d","architecture":"amd64","environment_variables":{"GIT_AUTHOR_EMAIL":"[email protected]","GIT_AUTHOR_NAME":"Regular User","GIT_COMMITTER_EMAIL":"[email protected]","GIT_COMMITTER_NAME":"Regular User"},"operating_system":"linux","logs_length":1447,"logs_overflowed":false,"version":"v2.16.0-devel+13f6645ab","api_version":"2.2","apps":[{"id":"cb6dd23e-f1d5-46cf-8d34-a8728f403828","url":"http://localhost:13337/?folder=/home/member","external":false,"slug":"code-server","display_name":"code-server","icon":"/icon/code.svg","subdomain":false,"sharing_level":"owner","healthcheck":{"url":"http://localhost:13337/healthz","interval":5,"threshold":6},"health":"healthy","hidden":false}],"latency":{"Coder Embedded Relay":{"preferred":true,"latency_ms":0.29588200000000003}},"connection_timeout_seconds":120,"troubleshooting_url":"https://coder.com/docs/templates/troubleshooting","subsystems":[],"health":{"healthy":true},"display_apps":["vscode","ssh_helper","port_forwarding_helper","web_terminal"],"log_sources":[{"workspace_agent_id":"42dc9508-6ca4-4e04-92a9-2ad84ae499e7","id":"fd1457b6-5f2e-4bc9-8c59-278081611f09","created_at":"2024-10-21T15:53:10.828368Z","display_name":"Startup Script","icon":"/emojis/25b6.png"}],"scripts":[{"id":"5937c14f-10bc-461f-8127-b5620fd26ecb","log_source_id":"fd1457b6-5f2e-4bc9-8c59-278081611f09","log_path":"coder-startup-script.log","script":"set -e\n\n# Prepare user home with default files on first start.\nif [ ! -f ~/.init_done ]; then\n  cp -rT /etc/skel ~\n  touch ~/.init_done\nfi\n\n# Install the latest code-server.\n# Append \"--version x.x.x\" to install a specific version of code-server.\ncurl -fsSL https://code-server.dev/install.sh | sh -s -- --method=standalone --prefix=/tmp/code-server\n\n# Start code-server in the background.\n/tmp/code-server/bin/code-server --auth none --port 13337 \u003e/tmp/code-server.log 2\u003e\u00261 \u0026\n","cron":"","run_on_start":true,"run_on_stop":false,"start_blocks_login":false,"timeout":0,"display_name":"Startup Script"}],"startup_script_behavior":"non-blocking"}],"daily_cost":0},{"id":"b853ae0d-8efe-432a-b59e-921dabec17a0","created_at":"2024-10-21T15:53:10.830574Z","job_id":"8f14304c-d1f8-44c1-bf80-ab6ac0ded409","workspace_transition":"start","type":"docker_volume","name":"home_volume","hide":false,"icon":"","daily_cost":0},{"id":"62d32389-28ff-4710-a2e2-d55622ad8fd6","created_at":"2024-10-21T15:53:10.830079Z","job_id":"8f14304c-d1f8-44c1-bf80-ab6ac0ded409","workspace_transition":"start","type":"docker_image","name":"main","hide":false,"icon":"","daily_cost":0}],"deadline":"2024-10-22T15:53:10.817429Z","max_deadline":"2024-10-27T00:00:00Z","status":"running","daily_cost":0},"outdated":false,"name":"smoke-member-1","ttl_ms":86400000,"last_used_at":"2024-10-21T20:11:26.337506Z","deleting_at":null,"dormant_at":null,"health":{"healthy":true,"failing_agents":[]},"automatic_updates":"never","allow_renames":false,"favorite":false}

I saw that the workspace usage tracker was bumping workspaces that I kept the web terminal open. When closing the terminals I stopped seeing the logs from this loop, so I think it's coming from somewhere else.

[API] 2024-10-21 19:56:23.753 [info]  coderd.workspace_usage_tracker: updated workspaces last_used_at  count=1  now="2024-10-21T19:56:23.751633165Z"
[API] 2024-10-21 19:57:23.752 [info]  coderd.workspace_usage_tracker: updated workspaces last_used_at  count=2  now="2024-10-21T19:57:23.751339347Z"
[API] 2024-10-21 19:58:23.753 [info]  coderd.workspace_usage_tracker: updated workspaces last_used_at  count=2  now="2024-10-21T19:58:23.751286152Z"
[API] 2024-10-21 19:59:23.752 [info]  coderd.workspace_usage_tracker: updated workspaces last_used_at  count=2  now="2024-10-21T19:59:23.751621646Z"
[API] 2024-10-21 19:59:23.967 [info]  dbpurge: purged old database entries  duration=6.848109ms
[API] 2024-10-21 20:00:23.753 [info]  coderd.workspace_usage_tracker: updated workspaces last_used_at  count=2  now="2024-10-21T20:00:23.751634041Z"
[API] 2024-10-21 20:01:23.752 [info]  coderd.workspace_usage_tracker: updated workspaces last_used_at  count=2  now="2024-10-21T20:01:23.751447579Z"
[API] 2024-10-21 20:02:23.753 [info]  coderd.workspace_usage_tracker: updated workspaces last_used_at  count=2  now="2024-10-21T20:02:23.751516781Z"
[API] 2024-10-21 20:03:23.752 [info]  coderd.workspace_usage_tracker: updated workspaces last_used_at  count=2  now="2024-10-21T20:03:23.751324097Z"
[API] 2024-10-21 20:04:23.752 [info]  coderd.workspace_usage_tracker: updated workspaces last_used_at  count=2  now="2024-10-21T20:04:23.751106746Z"
[API] 2024-10-21 20:04:23.815 [info]  notifications.report_generator: report generator finished  duration=1.036513ms
[API] 2024-10-21 20:05:23.752 [info]  coderd.workspace_usage_tracker: updated workspaces last_used_at  count=1  now="2024-10-21T20:05:23.751598063Z"
[API] 2024-10-21 20:09:23.976 [info]  dbpurge: purged old database entries  duration=7.611437ms

Metadata

Metadata

Assignees

Labels

bug riskProne to bugsobservabilityIssues related to observability (metrics, dashboards, alerts, opentelemetry)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions