MCPcopy Index your code
hub / github.com/HelloZeroNet/ZeroNet / getCollectors

Method getCollectors

plugins/Chart/ChartCollector.py:26–79  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

24 self.last_values["site:" + site.address]["site_bytes_sent"] = site.settings.get("bytes_sent", 0)
25
26 def getCollectors(self):
27 collectors = {}
28 import main
29 file_server = main.file_server
30 sites = file_server.sites
31 if not sites:
32 return collectors
33 content_db = list(sites.values())[0].content_manager.contents.db
34
35 # Connection stats
36 collectors["connection"] = lambda: len(file_server.connections)
37 collectors["connection_in"] = (
38 lambda: len([1 for connection in file_server.connections if connection.type == "in"])
39 )
40 collectors["connection_onion"] = (
41 lambda: len([1 for connection in file_server.connections if connection.ip.endswith(".onion")])
42 )
43 collectors["connection_ping_avg"] = (
44 lambda: round(1000 * helper.avg(
45 [connection.last_ping_delay for connection in file_server.connections if connection.last_ping_delay]
46 ))
47 )
48 collectors["connection_ping_min"] = (
49 lambda: round(1000 * min(
50 [connection.last_ping_delay for connection in file_server.connections if connection.last_ping_delay]
51 ))
52 )
53 collectors["connection_rev_avg"] = (
54 lambda: helper.avg(
55 [connection.handshake["rev"] for connection in file_server.connections if connection.handshake]
56 )
57 )
58
59 # Request stats
60 collectors["file_bytes_recv|change"] = lambda: file_server.bytes_recv
61 collectors["file_bytes_sent|change"] = lambda: file_server.bytes_sent
62 collectors["request_num_recv|change"] = lambda: file_server.num_recv
63 collectors["request_num_sent|change"] = lambda: file_server.num_sent
64
65 # Limit
66 collectors["optional_limit"] = lambda: content_db.getOptionalLimitBytes()
67 collectors["optional_used"] = lambda: content_db.getOptionalUsedBytes()
68 collectors["optional_downloaded"] = lambda: sum([site.settings.get("optional_downloaded", 0) for site in sites.values()])
69
70 # Peers
71 collectors["peer"] = lambda peers: len(peers)
72 collectors["peer_onion"] = lambda peers: len([True for peer in peers if ".onion" in peer])
73
74 # Size
75 collectors["size"] = lambda: sum([site.settings.get("size", 0) for site in sites.values()])
76 collectors["size_optional"] = lambda: sum([site.settings.get("size_optional", 0) for site in sites.values()])
77 collectors["content"] = lambda: sum([len(site.content_manager.contents) for site in sites.values()])
78
79 return collectors
80
81 def getSiteCollectors(self):
82 site_collectors = {}

Callers 1

collectorMethod · 0.95

Calls 5

sumFunction · 0.85
valuesMethod · 0.80
getOptionalLimitBytesMethod · 0.80
getOptionalUsedBytesMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected