chore(python.d): rename dockerd job on lock registration (#13537)
Ilya Mashchenko committed
Aug 18, 2022 at 20:53 UTC
c0d9b982eed1b5031c9a8d3437ca2a6387dc3388
1 file changed
+16
-1
collectors/python.d.plugin/python.d.plugin.in
+16
-1
@@ -131,7 +131,7 @@ def dirs():
131
132
DIRS = dirs()
133
134
-IS_ATTY = sys.stdout.isatty()
134
+IS_ATTY = sys.stdout.isatty() or sys.stderr.isatty()
135
136
MODULE_SUFFIX = '.chart.py'
137
@@ -496,7 +496,16 @@ class FileLockRegistry:
496
self.path = path
497
self.locks = dict()
498
499
+ @staticmethod
500
+ def rename(name):
501
+ # go version name is 'docker'
502
+ if name.startswith("dockerd"):
503
+ name = "docker" + name[7:]
504
+ return name
505
+
506
+
507
def register(self, name):
508
+ name = self.rename(name)
509
if name in self.locks:
510
return
511
file = os.path.join(self.path, '{0}.collector.lock'.format(name))
@@ -505,6 +514,7 @@ class FileLockRegistry:
514
self.locks[name] = lock
515
516
def unregister(self, name):
517
+ name = self.rename(name)
518
if name not in self.locks:
519
return
520
lock = self.locks[name]
@@ -893,6 +903,11 @@ def main():
903
registry,
904
)
905
906
+ # cheap attempt to reduce chance of python.d job running before go.d
907
+ # TODO: better implementation needed
908
+ if not IS_ATTY:
909
+ time.sleep(1.5)
910
+
911
try:
912
if not p.setup():
913
return