removed all traces of get_sessions and consolidated to get_activity
This commit is contained in:
parent
dce59eb28a
commit
002e7b65c1
4 changed files with 25 additions and 48 deletions
|
@ -76,8 +76,6 @@ if __name__ == "__main__":
|
||||||
TAUTULLI = TautulliAPI(server, DBMANAGER)
|
TAUTULLI = TautulliAPI(server, DBMANAGER)
|
||||||
if server.get_activity:
|
if server.get_activity:
|
||||||
schedule.every(server.get_activity_run_seconds).seconds.do(threaded, TAUTULLI.get_activity)
|
schedule.every(server.get_activity_run_seconds).seconds.do(threaded, TAUTULLI.get_activity)
|
||||||
if server.get_sessions:
|
|
||||||
schedule.every(server.get_sessions_run_seconds).seconds.do(threaded, TAUTULLI.get_sessions)
|
|
||||||
|
|
||||||
if CONFIG.radarr_enabled:
|
if CONFIG.radarr_enabled:
|
||||||
for server in CONFIG.radarr_servers:
|
for server in CONFIG.radarr_servers:
|
||||||
|
|
|
@ -144,11 +144,9 @@ class INIParser(object):
|
||||||
verify_ssl = False
|
verify_ssl = False
|
||||||
get_activity = self.config.getboolean(tautulli_section, 'get_activity')
|
get_activity = self.config.getboolean(tautulli_section, 'get_activity')
|
||||||
get_activity_run_seconds = self.config.getint(tautulli_section, 'get_activity_run_seconds')
|
get_activity_run_seconds = self.config.getint(tautulli_section, 'get_activity_run_seconds')
|
||||||
get_sessions = self.config.getboolean(tautulli_section, 'get_sessions')
|
|
||||||
get_sessions_run_seconds = self.config.getint(tautulli_section, 'get_sessions_run_seconds')
|
|
||||||
|
|
||||||
server = TautulliServer(server_id, scheme + url, fallback_ip, apikey, verify_ssl, get_activity,
|
server = TautulliServer(server_id, scheme + url, fallback_ip, apikey, verify_ssl, get_activity,
|
||||||
get_activity_run_seconds, get_sessions, get_sessions_run_seconds)
|
get_activity_run_seconds)
|
||||||
self.tautulli_servers.append(server)
|
self.tautulli_servers.append(server)
|
||||||
|
|
||||||
# Parse Ombi options
|
# Parse Ombi options
|
||||||
|
|
|
@ -62,8 +62,6 @@ class TautulliServer(NamedTuple):
|
||||||
verify_ssl: bool = None
|
verify_ssl: bool = None
|
||||||
get_activity: bool = False
|
get_activity: bool = False
|
||||||
get_activity_run_seconds: int = 30
|
get_activity_run_seconds: int = 30
|
||||||
get_sessions: bool = False
|
|
||||||
get_sessions_run_seconds: int = 30
|
|
||||||
|
|
||||||
|
|
||||||
class InfluxServer(NamedTuple):
|
class InfluxServer(NamedTuple):
|
||||||
|
|
|
@ -16,7 +16,7 @@ class TautulliAPI(object):
|
||||||
self.dbmanager = dbmanager
|
self.dbmanager = dbmanager
|
||||||
self.server = server
|
self.server = server
|
||||||
self.session = Session()
|
self.session = Session()
|
||||||
self.session.params['apikey'] = self.server.api_key
|
self.session.params = {'apikey': self.server.api_key, 'cmd': 'get_activity'}
|
||||||
self.endpoint = '/api/v2'
|
self.endpoint = '/api/v2'
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
|
@ -24,53 +24,16 @@ class TautulliAPI(object):
|
||||||
|
|
||||||
def get_activity(self):
|
def get_activity(self):
|
||||||
self.now = datetime.now(timezone.utc).astimezone().isoformat()
|
self.now = datetime.now(timezone.utc).astimezone().isoformat()
|
||||||
params = {'cmd': 'get_activity'}
|
|
||||||
influx_payload = []
|
influx_payload = []
|
||||||
|
|
||||||
req = self.session.prepare_request(Request('GET', self.server.url + self.endpoint, params=params))
|
req = self.session.prepare_request(Request('GET', self.server.url + self.endpoint))
|
||||||
g = connection_handler(self.session, req, self.server.verify_ssl)
|
g = connection_handler(self.session, req, self.server.verify_ssl)
|
||||||
|
|
||||||
if not g:
|
if not g:
|
||||||
return
|
return
|
||||||
else:
|
|
||||||
get = g['response']['data']
|
get = g['response']['data']
|
||||||
|
sessions = [TautulliStream(**session) for session in get['sessions']]
|
||||||
influx_payload.append(
|
|
||||||
{
|
|
||||||
"measurement": "Tautulli",
|
|
||||||
"tags": {
|
|
||||||
"type": "current_stream_stats",
|
|
||||||
"server": self.server.id
|
|
||||||
},
|
|
||||||
"time": self.now,
|
|
||||||
"fields": {
|
|
||||||
"stream_count": int(get['stream_count']),
|
|
||||||
"total_bandwidth": int(get['total_bandwidth']),
|
|
||||||
"wan_bandwidth": int(get['wan_bandwidth']),
|
|
||||||
"lan_bandwidth": int(get['lan_bandwidth']),
|
|
||||||
"transcode_streams": int(get['stream_count_transcode']),
|
|
||||||
"direct_play_streams": int(get['stream_count_direct_play']),
|
|
||||||
"direct_streams": int(get['stream_count_direct_stream'])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
self.dbmanager.write_points(influx_payload)
|
|
||||||
|
|
||||||
def get_sessions(self):
|
|
||||||
self.now = datetime.now(timezone.utc).astimezone().isoformat()
|
|
||||||
params = {'cmd': 'get_activity'}
|
|
||||||
influx_payload = []
|
|
||||||
|
|
||||||
req = self.session.prepare_request(Request('GET', self.server.url + self.endpoint, params=params))
|
|
||||||
g = connection_handler(self.session, req, self.server.verify_ssl)
|
|
||||||
|
|
||||||
if not g:
|
|
||||||
return
|
|
||||||
else:
|
|
||||||
get = g['response']['data']['sessions']
|
|
||||||
|
|
||||||
sessions = [TautulliStream(**session) for session in get]
|
|
||||||
|
|
||||||
for session in sessions:
|
for session in sessions:
|
||||||
try:
|
try:
|
||||||
|
@ -158,4 +121,24 @@ class TautulliAPI(object):
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
influx_payload.append(
|
||||||
|
{
|
||||||
|
"measurement": "Tautulli",
|
||||||
|
"tags": {
|
||||||
|
"type": "current_stream_stats",
|
||||||
|
"server": self.server.id
|
||||||
|
},
|
||||||
|
"time": self.now,
|
||||||
|
"fields": {
|
||||||
|
"stream_count": int(get['stream_count']),
|
||||||
|
"total_bandwidth": int(get['total_bandwidth']),
|
||||||
|
"wan_bandwidth": int(get['wan_bandwidth']),
|
||||||
|
"lan_bandwidth": int(get['lan_bandwidth']),
|
||||||
|
"transcode_streams": int(get['stream_count_transcode']),
|
||||||
|
"direct_play_streams": int(get['stream_count_direct_play']),
|
||||||
|
"direct_streams": int(get['stream_count_direct_stream'])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
self.dbmanager.write_points(influx_payload)
|
self.dbmanager.write_points(influx_payload)
|
||||||
|
|
Loading…
Reference in a new issue