Skip to content

Commit 7177d13

Browse files
committed
collect access details
1 parent e7d3af4 commit 7177d13

2 files changed

Lines changed: 25 additions & 4 deletions

File tree

blitzortung/cli/webservice.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import platform
88
import time
99

10-
import statsd
1110
from twisted.application import internet, service
1211
from twisted.internet.defer import succeed
1312
from twisted.internet.error import ReactorAlreadyInstalledError

blitzortung/cli/webservice_insertlog.py

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
55
"""
66

7-
from __future__ import print_function
8-
97
import datetime
108
import glob
119
import json
@@ -14,6 +12,8 @@
1412
import sys
1513
from optparse import OptionParser
1614

15+
import statsd
16+
1717
from blitzortung.convert import value_to_string
1818

1919
logger = logging.getLogger(__name__)
@@ -23,8 +23,10 @@
2323
import geoip2.database
2424

2525

26+
2627
def main():
2728
reader = geoip2.database.Reader('/var/lib/GeoIP/GeoLite2-City.mmdb')
29+
statsd_client = statsd.StatsClient('localhost', 8125, prefix='org.blitzortung.service')
2830

2931
parser = OptionParser()
3032

@@ -111,12 +113,32 @@ def main():
111113
data_area if data_area is not None else '-',
112114
])
113115

114-
with open(os.path.join(base_dir, "servicelog_" + global_timestamp.strftime("%Y-%m-%d")), 'a+') as output_file:
116+
tags = {
117+
"version": version if version is not None else '-',
118+
"region": region,
119+
"minutes": minute_length,
120+
"offset": minute_offset,
121+
"grid": grid_baselength
122+
}
123+
if local_x and local_y and data_area:
124+
tags["data_area"] = f"{local_x}x{local_y}-{data_area}"
125+
if country_code:
126+
tags["country"] = country_code
127+
#if city:
128+
# tags["city"] = city
129+
130+
tag_values = ",".join([f"{key}={value}" for key, value in tags.items()])
131+
132+
statsd_client.incr(f'access,{tag_values}')
133+
134+
with open(os.path.join(base_dir, "servicelog_" + global_timestamp.strftime("%Y-%m-%d")),
135+
'a+') as output_file:
115136
for result in results:
116137
line = "\t".join([value_to_string(value) for value in result])
117138
output_file.write(line + "\n")
118139

119140
os.unlink(json_file_name)
120141

142+
121143
if __name__ == "__main__":
122144
main()

0 commit comments

Comments
 (0)