AWS DeepRacer League
Jump to navigation
Jump to search
Contents
Monitoring Virtual League Submission
CloudWatch Dashboard
By using CloudWatch Log Insights, we can create a dashboard to show the racing time of every submission, grouped by race type
Warning: AWS allow up to 3 free dashboard, if you exceed this limit, each extra dashboard cost you $3 per month
Setup Steps
- Go to https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#dashboards:
- Click "Create Dashboard", give the dashboard a name (e.g. DeepRacer Results), click "Create dashboard"
- Close out any popups
- Click "Action" > "View/edit source"
- Replace the source with the following code, then click "Update"
{ "start": "-PT1H", "widgets": [ { "type": "log", "x": 0, "y": 12, "width": 24, "height": 6, "properties": { "query": "SOURCE '/aws/deepracer/leaderboard/SimulationJobs' | filter @message like /(SIM_TRACE_LOG:0,1,.+|SIM_TRACE_LOG:.+,lap_complete|\\/RACE_TYPE: [A-Z_]+|Saving updated checkpoint to \\.\\/renamed_checkpoint\\/\\d+_Step-\\d+\\.ckpt)/\n| parse @message /SIM_TRACE_LOG:0,1,.+,(?<start_time>[0-9.]+),[\\w_]+/\n| parse @message /SIM_TRACE_LOG:.+,(?<end_time>[0-9.]+),lap_complete/\n| parse @message /\\/RACE_TYPE: (?<race_type>[A-Z_]+)/\n| parse @message /Saving updated checkpoint to \\.\\/renamed_checkpoint\\/(?<ckpt>\\d+_Step-\\d+\\.ckpt)/\n| stats (max(end_time) - min(start_time)) as RaceTime, earliest(race_type) as RaceType, earliest(ckpt) as checkpoint by @logStream\n| filter RaceTime like /.+/\n| filter RaceType = 'HEAD_TO_BOT'\n| sort RaceTime asc\n", "region": "us-east-1", "stacked": false, "title": "Fastest Head-to-head", "view": "table" } }, { "type": "log", "x": 0, "y": 0, "width": 24, "height": 6, "properties": { "query": "SOURCE '/aws/deepracer/leaderboard/SimulationJobs' | filter @message like /(SIM_TRACE_LOG:0,1,.+|SIM_TRACE_LOG:.+,lap_complete|\\/RACE_TYPE: [A-Z_]+|Saving updated checkpoint to \\.\\/renamed_checkpoint\\/\\d+_Step-\\d+\\.ckpt)/\n| parse @message /SIM_TRACE_LOG:0,1,.+,(?<start_time>[0-9.]+),[\\w_]+/\n| parse @message /SIM_TRACE_LOG:.+,(?<end_time>[0-9.]+),lap_complete/\n| parse @message /\\/RACE_TYPE: (?<race_type>[A-Z_]+)/\n| parse @message /Saving updated checkpoint to \\.\\/renamed_checkpoint\\/(?<ckpt>\\d+_Step-\\d+\\.ckpt)/\n| stats (max(end_time) - min(start_time)) as RaceTime, earliest(race_type) as RaceType, earliest(ckpt) as checkpoint by @logStream\n| filter RaceTime like /.+/\n| filter RaceType = 'TIME_TRIAL'\n| sort RaceTime asc\n", "region": "us-east-1", "stacked": false, "title": "Fastest Time Trial", "view": "table" } }, { "type": "log", "x": 0, "y": 6, "width": 24, "height": 6, "properties": { "query": "SOURCE '/aws/deepracer/leaderboard/SimulationJobs' | filter @message like /(SIM_TRACE_LOG:0,1,.+|SIM_TRACE_LOG:.+,lap_complete|\\/RACE_TYPE: [A-Z_]+|Saving updated checkpoint to \\.\\/renamed_checkpoint\\/\\d+_Step-\\d+\\.ckpt)/\n| parse @message /SIM_TRACE_LOG:0,1,.+,(?<start_time>[0-9.]+),[\\w_]+/\n| parse @message /SIM_TRACE_LOG:.+,(?<end_time>[0-9.]+),lap_complete/\n| parse @message /\\/RACE_TYPE: (?<race_type>[A-Z_]+)/\n| parse @message /Saving updated checkpoint to \\.\\/renamed_checkpoint\\/(?<ckpt>\\d+_Step-\\d+\\.ckpt)/\n| stats (max(end_time) - min(start_time)) as RaceTime, earliest(race_type) as RaceType, earliest(ckpt) as checkpoint by @logStream\n| filter RaceTime like /.+/\n| filter RaceType = 'OBJECT_AVOIDANCE'\n| sort RaceTime asc\n", "region": "us-east-1", "stacked": false, "title": "Fastest Object Avoidance", "view": "table" } } ] }
External Links
In Community Slack we are usually running two or three league channels:
- #league-public - lists top ten leaders of an ongoing race and (during the season) best-effort calculation of cumulative results from races so far
- #league-community - lists how community members are doing against each other
- #league-contest - shows the ranking of community contests when they are ongoing