NWACus / avy

Mobile-Native Viewing of NAC Avalanche Forecasts
MIT License
11 stars 6 forks source link

Thundering Herd Of Duplicate (?) Observations Queries on Startup #449

Closed stevekuznetsov closed 11 months ago

stevekuznetsov commented 11 months ago

Starting the app with LOG_LEVEL=trace nets a lot of chatter.

``` INFO [2023-10-16T14:56:43.106Z] TRACE prefetching INFO [2023-10-16T14:56:43.107Z] DEBUG fetchNACObservations { "center": "SNFAC", "startDate": "2023-10-02", "endDate": "2023-10-16" } query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] INFO [2023-10-16T14:56:43.107Z] TRACE finished prefetching duration: "0 seconds" query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] INFO [2023-10-16T14:56:43.107Z] DEBUG sending request uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" INFO [2023-10-16T14:56:43.107Z] TRACE sending request data: "{\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" INFO [2023-10-16T14:56:43.363Z] DEBUG received request response status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n ge...\"" INFO [2023-10-16T14:56:43.365Z] TRACE received request response data: "{\"data\":{\"getObservationList\":[]}}" status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n ge...\"" INFO [2023-10-16T14:56:43.369Z] TRACE prefetching INFO [2023-10-16T14:56:43.370Z] DEBUG fetchNACObservations { "center": "SNFAC", "startDate": "2023-10-02", "endDate": "2023-10-16" } query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] INFO [2023-10-16T14:56:43.372Z] TRACE finished prefetching duration: "0 seconds" query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] INFO [2023-10-16T14:56:43.373Z] DEBUG sending request uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" INFO [2023-10-16T14:56:43.374Z] TRACE sending request data: "{\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" INFO [2023-10-16T14:56:43.641Z] DEBUG received request response status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n ge...\"" INFO [2023-10-16T14:56:43.644Z] TRACE received request response data: "{\"data\":{\"getObservationList\":[]}}" status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n ge...\"" INFO [2023-10-16T14:56:43.649Z] TRACE prefetching INFO [2023-10-16T14:56:43.650Z] DEBUG fetchNACObservations { "center": "SNFAC", "startDate": "2023-10-02", "endDate": "2023-10-16" } query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] INFO [2023-10-16T14:56:43.652Z] TRACE finished prefetching duration: "0 seconds" query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] INFO [2023-10-16T14:56:43.653Z] DEBUG sending request uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" INFO [2023-10-16T14:56:43.654Z] TRACE sending request data: "{\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" INFO [2023-10-16T14:56:43.924Z] DEBUG received request response status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n ge...\"" INFO [2023-10-16T14:56:43.926Z] TRACE received request response data: "{\"data\":{\"getObservationList\":[]}}" status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n ge...\"" INFO [2023-10-16T14:56:43.931Z] TRACE prefetching INFO [2023-10-16T14:56:43.932Z] DEBUG fetchNACObservations { "center": "SNFAC", "startDate": "2023-10-02", "endDate": "2023-10-16" } query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] INFO [2023-10-16T14:56:43.934Z] TRACE finished prefetching duration: "0 seconds" query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] INFO [2023-10-16T14:56:43.935Z] DEBUG sending request uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" INFO [2023-10-16T14:56:43.936Z] TRACE sending request data: "{\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" INFO [2023-10-16T14:56:44.200Z] DEBUG received request response status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n ge...\"" INFO [2023-10-16T14:56:44.201Z] TRACE received request response data: "{\"data\":{\"getObservationList\":[]}}" status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n ge...\"" INFO [2023-10-16T14:56:44.201Z] TRACE prefetching INFO [2023-10-16T14:56:44.202Z] DEBUG fetchNACObservations { "center": "SNFAC", "startDate": "2023-10-02", "endDate": "2023-10-16" } query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] INFO [2023-10-16T14:56:44.202Z] TRACE finished prefetching duration: "0 seconds" query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] INFO [2023-10-16T14:56:44.202Z] DEBUG sending request uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" INFO [2023-10-16T14:56:44.202Z] TRACE sending request data: "{\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" INFO [2023-10-16T14:56:44.456Z] DEBUG received request response status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n ge...\"" INFO [2023-10-16T14:56:44.458Z] TRACE received request response data: "{\"data\":{\"getObservationList\":[]}}" status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n ge...\"" INFO [2023-10-16T14:56:44.463Z] TRACE prefetching INFO [2023-10-16T14:56:44.465Z] DEBUG fetchNACObservations { "center": "SNFAC", "startDate": "2023-10-02", "endDate": "2023-10-16" } query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] INFO [2023-10-16T14:56:44.466Z] TRACE finished prefetching duration: "0 seconds" query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] INFO [2023-10-16T14:56:44.468Z] DEBUG sending request uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" INFO [2023-10-16T14:56:44.468Z] TRACE sending request data: "{\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" INFO [2023-10-16T14:56:44.735Z] DEBUG received request response status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n ge...\"" INFO [2023-10-16T14:56:44.737Z] TRACE received request response data: "{\"data\":{\"getObservationList\":[]}}" status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n ge...\"" INFO [2023-10-16T14:56:44.743Z] TRACE prefetching INFO [2023-10-16T14:56:44.745Z] DEBUG fetchNACObservations { "center": "SNFAC", "startDate": "2023-10-02", "endDate": "2023-10-16" } query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] INFO [2023-10-16T14:56:44.746Z] TRACE finished prefetching duration: "0 seconds" query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] INFO [2023-10-16T14:56:44.748Z] DEBUG sending request uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" INFO [2023-10-16T14:56:44.749Z] TRACE sending request data: "{\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" INFO [2023-10-16T14:56:45.010Z] DEBUG received request response status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n ge...\"" INFO [2023-10-16T14:56:45.012Z] TRACE received request response data: "{\"data\":{\"getObservationList\":[]}}" status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n ge...\"" INFO [2023-10-16T14:56:45.017Z] TRACE prefetching INFO [2023-10-16T14:56:45.019Z] DEBUG fetchNACObservations { "center": "SNFAC", "startDate": "2023-10-02", "endDate": "2023-10-16" } query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] INFO [2023-10-16T14:56:45.020Z] TRACE finished prefetching duration: "0 seconds" query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] INFO [2023-10-16T14:56:45.022Z] DEBUG sending request uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" INFO [2023-10-16T14:56:45.022Z] TRACE sending request data: "{\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: {\"query\":\"\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\n getObservation...\",\"variables\":{\"center\":\"SNFAC\",\"startDate\":\"2023-10-02\",\"endDate\":\"2023-10-16\"}}" INFO [2023-10-16T14:56:45.299Z] DEBUG received request response status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n ge...\"" INFO [2023-10-16T14:56:45.301Z] TRACE received request response data: "{\"data\":{\"getObservationList\":[]}}" status: 200 uri: "POST https://api.avalanche.org/obs/v1/public/graphql data: \"{\\\"query\\\":\\\"\\\\n query observations($center: String!, $startDate: String!, $endDate: String!) {\\\\n ge...\"" INFO [2023-10-16T14:56:45.307Z] TRACE prefetching INFO [2023-10-16T14:56:45.308Z] DEBUG fetchNACObservations { "center": "SNFAC", "startDate": "2023-10-02", "endDate": "2023-10-16" } query: ["nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"}] ```
stevekuznetsov commented 11 months ago

This is with

$ LOG_LEVEL=trace npx expo start --go --clear

And a fresh query cache.

stevekuznetsov commented 11 months ago

Actually this seems to go on forever?

floatplane commented 11 months ago

does this repro with NWAC? would be good to understand if it's specific to the code in useNACObservations.ts, or if the problem lies outside there.

floatplane commented 11 months ago

this didn't immediately repro for me with SNFAC in that it didn't go on forever, but it did repeat twice. weird.

stevekuznetsov commented 11 months ago

Capturing startup logs, I see 53 duplicate calls for observations for SNFAC and none for NWAC.

SNFAC ``` $ grep -Po '(?<=prefetching query: \[).*(?=\])' /tmp/startup.log | sort | uniq -c | sort -nr 53 "nac-observations",{"host":"https://api.avalanche.org","center_id":"SNFAC","end_time":"latest"} 2 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/SNFAC.png?platform=ios&hash=b49c14c567e4e41984c54b4c1b7500ba"} 2 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/NWAC.png?platform=ios&hash=13ae5aabbd5a3877cd4f3dff348f4354"} 1 "weather-stations",{"host":"https://api.snowobs.com","center_id":"SNFAC"} 1 "weather-stations",{"host":"https://api.snowobs.com","center_id":"NWAC"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1359,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1358,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1357,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1356,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1140,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1139,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1138,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1137,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1136,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1132,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1131,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1130,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1129,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1128,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-observations",{"host":"https://nwac.us","center_id":"NWAC","end_time":"latest"} 1 "nac-observations",{"host":"https://api.avalanche.org","center_id":"NWAC","end_time":"latest"} 1 "map-layer",{"host":"https://api.avalanche.org","center":"SNFAC"} 1 "map-layer",{"host":"https://api.avalanche.org","center":"NWAC"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"SNFAC","zone_id":1359,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"SNFAC","zone_id":1358,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"SNFAC","zone_id":1357,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"SNFAC","zone_id":1356,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1140,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1139,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1138,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1137,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1136,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1132,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1131,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1130,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1129,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1128,"requestedTime":"2023-10-17"} 1 "latest-synopsis",{"host":"https://api.avalanche.org","center":"SNFAC","zone_id":1359,"requestedTime":"2023-10-17"} 1 "latest-synopsis",{"host":"https://api.avalanche.org","center":"SNFAC","zone_id":1358,"requestedTime":"2023-10-17"} 1 "latest-synopsis",{"host":"https://api.avalanche.org","center":"SNFAC","zone_id":1357,"requestedTime":"2023-10-17"} 1 "latest-synopsis",{"host":"https://api.avalanche.org","center":"SNFAC","zone_id":1356,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"SNFAC","zone_id":1359,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"SNFAC","zone_id":1358,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"SNFAC","zone_id":1357,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"SNFAC","zone_id":1356,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1140,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1139,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1138,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1137,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1136,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1132,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1131,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1130,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1129,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1128,"requestedTime":"2023-10-17"} 1 "image",{"uri":"https://avalanche-org-media.s3.us-west-2.amazonaws.com/May-12-SNOTEL-map_645e70f08730d-thumbnail.jpg"} 1 "image",{"uri":"https://avalanche-org-media.s3.us-west-2.amazonaws.com/May-12-SNOTEL-map_645e70f08730d.jpg"} 1 "image",{"uri":"https://avalanche-org-media.s3.us-west-2.amazonaws.com/IMG_1242_643014701e38b-thumbnail.jpg"} 1 "image",{"uri":"https://avalanche-org-media.s3.us-west-2.amazonaws.com/IMG_1242_643014701e38b.jpg"} 1 "image",{"uri":"https://avalanche-org-media.s3.us-west-2.amazonaws.com/GraysPeak_6433fb7d74c1c-thumbnail.jpg"} 1 "image",{"uri":"https://avalanche-org-media.s3.us-west-2.amazonaws.com/GraysPeak_6433fb7d74c1c.jpg"} 1 "image",{"uri":"https://avalanche-org-media.s3.us-west-2.amazonaws.com/230410_Carbonate_WS-6200NE_64354f46673d5-thumbnail.jpg"} 1 "image",{"uri":"https://avalanche-org-media.s3.us-west-2.amazonaws.com/230410_Carbonate_WS-6200NE_64354f46673d5.jpg"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/WindSlab.png?platform=ios&hash=18bc0e60b463d303b02ea21871191eb5"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/WetSlab.png?platform=ios&hash=e2b9a3bed1d98b1288a05824fcc1623d"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/WetLoose.png?platform=ios&hash=dba9cfcb926a110531d52c967cc4cc5f"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/StormSlab.png?platform=ios&hash=396be17ca9091c49c7fc68ce86f6392f"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/PersistentSlab.png?platform=ios&hash=e33829152409785cd7bd5fac031caa2a"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/Glide.png?platform=ios&hash=74d58793e01084015b20d13705ec3864"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/DryLoose.png?platform=ios&hash=e9a9d59c7b69c189f8e6cbf698ee507c"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/DeepPersistentSlab.png?platform=ios&hash=759192a775afeec0b228af0d018543a0"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/CorniceFall.png?platform=ios&hash=4d7ec3e36bc0019d4aef274ab712aa16"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/WCMAC.png?platform=ios&hash=abb4982457dbb169d4c05f819ac4e95f"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/WAC.png?platform=ios&hash=044129aa518c2981a27892f458aea447"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/TAC.png?platform=ios&hash=1d3287c1bd2e6aa875b85862338acb4c"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/SAC.png?platform=ios&hash=452e347717056c35d17a610d5923ec3d"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/PAC.png?platform=ios&hash=a28701b7034ca22db66788ebcf0e7fdf"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/MWAC.png?platform=ios&hash=33f3c9828ac365082aca710fe97c9ecc"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/MSAC.png?platform=ios&hash=b80fcc2b0b73c2fcece6a3be44f79a72"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/KPAC.png?platform=ios&hash=ed1bb4e463ed3a24597f27ec0301aa06"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/IPAC.png?platform=ios&hash=5514e63a649e4172b82b115b4c4786b8"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/FAC.png?platform=ios&hash=a6f709a47161ab0205c2d5ad9c4a9916"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/ESAC.png?platform=ios&hash=602214d0d96b5b0af463e8d2e574b40c"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/COAA.png?platform=ios&hash=f9fc79f0ada2e831426793ebcf968988"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/CBAC.png?platform=ios&hash=a770e54cec3b48118743f3eb51de5b25"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/BTAC.png?platform=ios&hash=b79a699c7894fb5feb0ad697c011594c"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/BAC.png?platform=ios&hash=fdafb84d6049ed73b55cf447223b811a"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/danger-icons/4.png?platform=ios&hash=8b01d2af9be9c802f86c9f7876a0268c"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/danger-icons/3.png?platform=ios&hash=20f159dbb5e3a296b59b8ecdfe7c7eb3"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/danger-icons/2.png?platform=ios&hash=099b0b9bd779e5d2a64f399163feaa9b"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/danger-icons/1.png?platform=ios&hash=4c44f24cd7685163d815431ea2d1c51f"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/danger-icons/0.png?platform=ios&hash=278494691e08277778431fd0254c6a9e"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"WCMAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"WAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"TAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"SNFAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"SAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"PAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"NWAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"MWAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"MSAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"KPAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"IPAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"FAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"ESAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"COAA"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"CBAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"BTAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"BAC"} 1 "center-capabilities",{"host":"https://forecasts.avalanche.org"} ```
NWAC ``` $ grep -Po '(?<=prefetching query: \[).*(?=\])' /tmp/nwac.log | sort | uniq -c | sort -nr 2 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/NWAC.png?platform=ios&hash=13ae5aabbd5a3877cd4f3dff348f4354"} 1 "weather-stations",{"host":"https://api.snowobs.com","center_id":"NWAC"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1140,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1139,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1138,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1137,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1136,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1132,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1131,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1130,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1129,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-weather",{"host":"https://nwac.us","zone_id":1128,"requestedTime":"2023-10-16 afternoon"} 1 "nwac-observations",{"host":"https://nwac.us","center_id":"NWAC","end_time":"latest"} 1 "nac-observations",{"host":"https://api.avalanche.org","center_id":"NWAC","end_time":"latest"} 1 "map-layer",{"host":"https://api.avalanche.org","center":"NWAC"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1140,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1139,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1138,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1137,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1136,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1132,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1131,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1130,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1129,"requestedTime":"2023-10-17"} 1 "latest-warning",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1128,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1140,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1139,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1138,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1137,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1136,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1132,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1131,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1130,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1129,"requestedTime":"2023-10-17"} 1 "latest-forecast",{"host":"https://api.avalanche.org","center":"NWAC","zone_id":1128,"requestedTime":"2023-10-17"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/WindSlab.png?platform=ios&hash=18bc0e60b463d303b02ea21871191eb5"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/WetSlab.png?platform=ios&hash=e2b9a3bed1d98b1288a05824fcc1623d"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/WetLoose.png?platform=ios&hash=dba9cfcb926a110531d52c967cc4cc5f"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/StormSlab.png?platform=ios&hash=396be17ca9091c49c7fc68ce86f6392f"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/PersistentSlab.png?platform=ios&hash=e33829152409785cd7bd5fac031caa2a"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/Glide.png?platform=ios&hash=74d58793e01084015b20d13705ec3864"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/DryLoose.png?platform=ios&hash=e9a9d59c7b69c189f8e6cbf698ee507c"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/DeepPersistentSlab.png?platform=ios&hash=759192a775afeec0b228af0d018543a0"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/problem-icons/CorniceFall.png?platform=ios&hash=4d7ec3e36bc0019d4aef274ab712aa16"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/WCMAC.png?platform=ios&hash=abb4982457dbb169d4c05f819ac4e95f"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/WAC.png?platform=ios&hash=044129aa518c2981a27892f458aea447"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/TAC.png?platform=ios&hash=1d3287c1bd2e6aa875b85862338acb4c"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/SNFAC.png?platform=ios&hash=b49c14c567e4e41984c54b4c1b7500ba"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/SAC.png?platform=ios&hash=452e347717056c35d17a610d5923ec3d"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/PAC.png?platform=ios&hash=a28701b7034ca22db66788ebcf0e7fdf"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/MWAC.png?platform=ios&hash=33f3c9828ac365082aca710fe97c9ecc"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/MSAC.png?platform=ios&hash=b80fcc2b0b73c2fcece6a3be44f79a72"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/KPAC.png?platform=ios&hash=ed1bb4e463ed3a24597f27ec0301aa06"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/IPAC.png?platform=ios&hash=5514e63a649e4172b82b115b4c4786b8"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/FAC.png?platform=ios&hash=a6f709a47161ab0205c2d5ad9c4a9916"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/ESAC.png?platform=ios&hash=602214d0d96b5b0af463e8d2e574b40c"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/COAA.png?platform=ios&hash=f9fc79f0ada2e831426793ebcf968988"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/CBAC.png?platform=ios&hash=a770e54cec3b48118743f3eb51de5b25"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/BTAC.png?platform=ios&hash=b79a699c7894fb5feb0ad697c011594c"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/logos/BAC.png?platform=ios&hash=fdafb84d6049ed73b55cf447223b811a"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/danger-icons/4.png?platform=ios&hash=8b01d2af9be9c802f86c9f7876a0268c"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/danger-icons/3.png?platform=ios&hash=20f159dbb5e3a296b59b8ecdfe7c7eb3"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/danger-icons/2.png?platform=ios&hash=099b0b9bd779e5d2a64f399163feaa9b"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/danger-icons/1.png?platform=ios&hash=4c44f24cd7685163d815431ea2d1c51f"} 1 "image",{"uri":"http://192.168.86.29:8081/assets/assets/danger-icons/0.png?platform=ios&hash=278494691e08277778431fd0254c6a9e"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"WCMAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"WAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"TAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"SNFAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"SAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"PAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"NWAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"MWAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"MSAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"KPAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"IPAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"FAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"ESAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"COAA"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"CBAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"BTAC"} 1 "center-metadata",{"host":"https://api.avalanche.org","center":"BAC"} 1 "center-capabilities",{"host":"https://forecasts.avalanche.org"} ```