def gae_stats_url_stats(): """This dashboard shows stats over time for a given URL.""" url = flask.request.args.get('url', '/') # Get up to 3 years(ish) worth of data. url_stats = data.daily_request_log_url_stats(db, url=url, limit=1000) date_record_pairs = time_series(url_stats, 'dt', '%Y-%m-%d') # Get a list of all the urls. Some days this data isn't generated # properly, and some days it takes a while for yesterday's report # to be generated, so we just go back in time until we get a list # of urls; hopefully it's *fairly* up-to-date, at least. for days_ago in xrange(1, 8): dt_string = utc_as_dt(days_ago) urls = data.daily_request_log_url_stats(db, dt=dt_string, fields=['url']) urls = [u['url'] for u in urls] if urls: break else: urls = [url, '(Could not fetch full list of urls)'] return flask.render_template('gae-stats/url-stats.html', current_url=url, urls=urls, date_record_pairs=date_record_pairs)
def gae_stats_url_stats(): """This dashboard shows stats over time for a given URL.""" url = flask.request.args.get("url", "/") # Get up to 3 years(ish) worth of data. url_stats = data.daily_request_log_url_stats(db, url=url, limit=1000) date_record_pairs = time_series(url_stats, "dt", "%Y-%m-%d") # Get a list of all the urls. Some days this data isn't generated # properly, and some days it takes a while for yesterday's report # to be generated, so we just go back in time until we get a list # of urls; hopefully it's *fairly* up-to-date, at least. for days_ago in xrange(1, 8): dt_string = utc_as_dt(days_ago) urls = data.daily_request_log_url_stats(db, dt=dt_string, fields=["url"]) urls = [u["url"] for u in urls] if urls: break else: urls = [url, "(Could not fetch full list of urls)"] return flask.render_template( "gae-stats/url-stats.html", current_url=url, urls=urls, date_record_pairs=date_record_pairs )
def gae_stats_daily_request_log_url_stats(): """This dashboard shows stats for the most accessed URLs.""" num_urls = int(flask.request.args.get('count', '100')) # Some days the data isn't generated properly, and some days # it takes a while for yesterday's report to be generated. So # we try going back a few days. When we go back far enough, we # say so in the date. for days_ago in xrange(1, 8): dt_string = utc_as_dt(days_ago) results = data.daily_request_log_url_stats(db, dt=dt_string, limit=num_urls) if results.count(): return flask.render_template( 'gae-stats/daily-request-log-url-stats.html', collection_rows=results, count=num_urls, date=dt_string, days_ago=days_ago) return 'No data in the db for the last %s days' % days_ago