Difference between revisions of "AWS DeepRacer League"
Jump to navigation
Jump to search
(Created page with "[https://aws.amazon.com/deepracer/league/ AWS DeepRacer League page] In Community Slack we are usually running two or three league channels: * #league-public - lists top ten...") |
(Added "Monitoring Virtual League Submission") |
||
Line 1: | Line 1: | ||
+ | == Monitoring Virtual League Submission == | ||
+ | |||
+ | === CloudWatch Log 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 == | ||
[https://aws.amazon.com/deepracer/league/ AWS DeepRacer League page] | [https://aws.amazon.com/deepracer/league/ AWS DeepRacer League page] | ||
Revision as of 20:50, 13 March 2020
Contents
Monitoring Virtual League Submission
CloudWatch Log 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