Skip to content

Commit

Permalink
fix(gazer): Excluded TCP responses
Browse files Browse the repository at this point in the history
  • Loading branch information
isala404 committed Feb 16, 2022
1 parent be3e074 commit 93d0cab
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 10 deletions.
8 changes: 8 additions & 0 deletions gazer/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
TAG=$(date +%s)

docker build . -t ghcr.io/mrsupiri/lazy-koala/gazer:$TAG
minikube image load ghcr.io/mrsupiri/lazy-koala/gazer:$TAG
kubectl set image daemonsets.apps gazer gazer=ghcr.io/mrsupiri/lazy-koala/gazer:$TAG -n lazy-koala
kubectl scale --replicas 0 deployment prometheus -n lazy-koala
sleep 1
kubectl scale --replicas 1 deployment prometheus -n lazy-koala
5 changes: 4 additions & 1 deletion gazer/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ def read_config(self):
self.config = yaml.load(file, Loader=yaml.FullLoader)
self.config = dict(filter(lambda elem: elem[1]['isService'] or elem[1]['node'] == NODE_NAME,
self.config.items()))
except:
print("Config Updated:", self.config)
except Exception as e:
print("Error while updating config:", e)
self.config = None

def process_IN_CLOSE_WRITE(self, evt):
Expand All @@ -33,3 +35,4 @@ def process_IN_CLOSE_WRITE(self, evt):
config_watcher_thread = threading.Thread(target=notifier.loop, args=())
config_watcher_thread.daemon = True
config_watcher_thread.start()
print("Started Gazing on", NODE_NAME)
4 changes: 2 additions & 2 deletions gazer/console.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ def draw_menu(stdscr: curses.window):
statusbarstr = "Press 'q' to exit | STATUS BAR | Pos: {}, {}".format(cursor_x, cursor_y)

stdscr.addstr(0, 0, "Requests", curses.color_pair(1))
stdscr.addstr(2, 0, "f\n"*25, curses.color_pair(1))
stdscr.addstr(28, 0, gazer.syn_backlog_text(), curses.color_pair(1))
stdscr.addstr(2, 0, gazer.request_log_text(), curses.color_pair(1))
stdscr.addstr(15, 0, gazer.syn_backlog_text(), curses.color_pair(1))

# Render status bar
stdscr.attron(curses.color_pair(3))
Expand Down
16 changes: 9 additions & 7 deletions gazer/gazer.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
rx_kb = Histogram("acknowledged_bytes", "Number of received bytes during TCP event",
["namespace", "serviceName", "podName"])
request_sent = Counter("requests_sent", "Total request sent", ["namespace", "serviceName", "podName"])
request_received = Counter("request_received", "Total request received", ["namespace", "serviceName", "podName"])
request_received = Counter("requests_received", "Total request received", ["namespace", "serviceName", "podName"])
backlog = Gauge("backlog", "Request backlog", ["namespace", "serviceName", "podName", "level"])
cpu = Gauge("cpu_seconds", "CPU usage", ["namespace", "serviceName", "podName"])
memory = Gauge("memory_usage_bytes", "Memory usage", ["namespace", "serviceName", "podName"])
Expand Down Expand Up @@ -70,18 +70,20 @@ def ipv4_request_event(self, cpu, data, size):
if event['LADDR'] in config_watcher.config:
pod = config_watcher.config[event['LADDR']]

if event['RADDR'] in config_watcher.config:
rpod = config_watcher.config[event['RADDR']]
if not rpod['isService']:
return
request_received.labels(rpod['namespace'], rpod['serviceName'], rpod['name']).inc()

ms.labels(pod['namespace'], pod['serviceName'], pod['name']).observe(event['MS'] / 1000000)
tx_kb.labels(pod['namespace'], pod['serviceName'], pod['name']).observe(event['TX_KB'])
rx_kb.labels(pod['namespace'], pod['serviceName'], pod['name']).observe(event['RX_KB'])
request_sent.labels(pod['namespace'], pod['serviceName'], pod['name']).inc()

if event['RADDR'] in config_watcher.config:
rpod = config_watcher.config[event['RADDR']]
request_received.labels(rpod['namespace'], rpod['serviceName'], pod['name']).inc()

if self.console_mode:
self.request_df = self.request_df.append(event, ignore_index=True)
self.request_df = self.request_df[-25:]
self.request_df = self.request_df[-10:]

def poll_requests(self):
while True:
Expand Down Expand Up @@ -159,7 +161,7 @@ def syn_backlog_text(self):
def request_log_text(self):
if self.request_df.empty:
return ""
return self.request_df.tail(25).__str__()
return self.request_df.tail(10).__str__()

def poll_data_in_bg(self):
poll_syn_backlog = threading.Thread(target=self.poll_syn_backlog, args=())
Expand Down

0 comments on commit 93d0cab

Please sign in to comment.