mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-10-05 18:50:09 +02:00
Option to push stats to graphite
This commit is contained in:
parent
a61083b71b
commit
dc789a7ac9
@ -76,6 +76,11 @@ wiki_password = "1234"
|
|||||||
#machine.
|
#machine.
|
||||||
update_stats = False
|
update_stats = False
|
||||||
|
|
||||||
|
#Use the following to push stats to a Carbon instance:
|
||||||
|
stats_to_carbon = False
|
||||||
|
carbon_host = '0.0.0.0'
|
||||||
|
carbon_port = 2003
|
||||||
|
|
||||||
|
|
||||||
#Set this to true to always use a build server. This saves specifying the
|
#Set this to true to always use a build server. This saves specifying the
|
||||||
#--server option on dedicated secure build server hosts.
|
#--server option on dedicated secure build server hosts.
|
||||||
|
@ -29,12 +29,24 @@ from optparse import OptionParser
|
|||||||
import HTMLParser
|
import HTMLParser
|
||||||
import paramiko
|
import paramiko
|
||||||
import common
|
import common
|
||||||
|
import socket
|
||||||
|
|
||||||
|
|
||||||
|
carbon_socket = None
|
||||||
|
def carbon_send(key, value):
|
||||||
|
global carbon_socket
|
||||||
|
if not carbon_socket:
|
||||||
|
carbon_socket = socket.socket()
|
||||||
|
carbon_socket = carbon_socket.connect((carbon_host, carbon_port))
|
||||||
|
msg = '%s %d 42 %d\n' % (key, value, int(time.time()))
|
||||||
|
carbon_socket.sendall(msg)
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
||||||
# Read configuration...
|
# Read configuration...
|
||||||
global update_stats
|
global update_stats, stats_to_carbon
|
||||||
update_stats = False
|
update_stats = False
|
||||||
|
stats_to_carbon = False
|
||||||
execfile('config.py', globals())
|
execfile('config.py', globals())
|
||||||
|
|
||||||
if not update_stats:
|
if not update_stats:
|
||||||
@ -74,7 +86,7 @@ def main():
|
|||||||
ssh.connect('f-droid.org', username='fdroid', timeout=10,
|
ssh.connect('f-droid.org', username='fdroid', timeout=10,
|
||||||
key_filename=webserver_keyfile)
|
key_filename=webserver_keyfile)
|
||||||
ftp = ssh.open_sftp()
|
ftp = ssh.open_sftp()
|
||||||
ftp.get_channel().settimeout(15)
|
ftp.get_channel().settimeout(60)
|
||||||
print "...connected"
|
print "...connected"
|
||||||
|
|
||||||
ftp.chdir('logs')
|
ftp.chdir('logs')
|
||||||
@ -135,6 +147,8 @@ def main():
|
|||||||
alldownloads = 0
|
alldownloads = 0
|
||||||
for app, count in apps.iteritems():
|
for app, count in apps.iteritems():
|
||||||
lst.append(app + " " + str(count))
|
lst.append(app + " " + str(count))
|
||||||
|
if stats_to_carbon:
|
||||||
|
carbon_send('fdroid.download.' + app.replace('.', '_'), count)
|
||||||
alldownloads += count
|
alldownloads += count
|
||||||
lst.append("ALL " + str(alldownloads))
|
lst.append("ALL " + str(alldownloads))
|
||||||
f = open('stats/total_downloads_app.txt', 'w')
|
f = open('stats/total_downloads_app.txt', 'w')
|
||||||
|
Loading…
Reference in New Issue
Block a user