 	time_t epoch = (time_t)atoi(current_observation[F("observation_epoch")] | "0");
 	if (epoch <= c.epoch)
 		return false;	    
+
+	unsigned last = stats.last_update, now = millis(), update = now - last;
+	stats.num_updates++;
+	stats.last_update = now;
+	if (update > stats.max_update)
+		stats.max_update = update;
 
 	c.epoch = epoch;
 	strlcpy(c.weather, current_observation[F("weather")] | "", sizeof(c.weather));

	display_wind(f.wind_degrees, f.ave_wind);
}

void update_display(int screen) {
	switch (screen) {
	case 0:

				} else {
					ERR(println(F("Failed to parse!")));
					last_fetch += cfg.retry_interval;
					stats.parse_failures++;
				}
			} else {
				ERR(println(F("Failed to fetch!")));
				last_fetch += cfg.retry_interval;
				stats.connect_failures++;
			}
			client.stop();
		} else {
			DBG(println(F("Insufficient memory to update!")));
			last_fetch += cfg.retry_interval;
			stats.mem_failures++;
		}
	}
}
