@@ -100,36 +100,46 @@ def process(self):
100100 self .tick ()
101101
102102 def collect_snapshot (self ):
103- s = Snapshot (name = self .sensor .service_name ,
104- version = sys .version ,
105- rlimit_core = resource .getrlimit (resource .RLIMIT_CORE ),
106- rlimit_cpu = resource .getrlimit (resource .RLIMIT_CPU ),
107- rlimit_fsize = resource .getrlimit (resource .RLIMIT_FSIZE ),
108- rlimit_data = resource .getrlimit (resource .RLIMIT_DATA ),
109- rlimit_stack = resource .getrlimit (resource .RLIMIT_STACK ),
110- rlimit_rss = resource .getrlimit (resource .RLIMIT_RSS ),
111- rlimit_nproc = resource .getrlimit (resource .RLIMIT_NPROC ),
112- rlimit_nofile = resource .getrlimit (resource .RLIMIT_NOFILE ),
113- rlimit_memlock = resource .getrlimit (resource .RLIMIT_MEMLOCK ),
114- rlimit_as = resource .getrlimit (resource .RLIMIT_AS ),
115- versions = self .collect_modules ())
116-
117- return s
103+ try :
104+ s = Snapshot (name = self .sensor .service_name ,
105+ version = sys .version ,
106+ rlimit_core = resource .getrlimit (resource .RLIMIT_CORE ),
107+ rlimit_cpu = resource .getrlimit (resource .RLIMIT_CPU ),
108+ rlimit_fsize = resource .getrlimit (resource .RLIMIT_FSIZE ),
109+ rlimit_data = resource .getrlimit (resource .RLIMIT_DATA ),
110+ rlimit_stack = resource .getrlimit (resource .RLIMIT_STACK ),
111+ rlimit_rss = resource .getrlimit (resource .RLIMIT_RSS ),
112+ rlimit_nproc = resource .getrlimit (resource .RLIMIT_NPROC ),
113+ rlimit_nofile = resource .getrlimit (resource .RLIMIT_NOFILE ),
114+ rlimit_memlock = resource .getrlimit (resource .RLIMIT_MEMLOCK ),
115+ rlimit_as = resource .getrlimit (resource .RLIMIT_AS ),
116+ versions = self .collect_modules ())
117+
118+ return s
119+ except Exception as e :
120+ l .error (e )
121+
122+ return None
118123
119124 def collect_modules (self ):
120- m = sys .modules
121- r = {}
122- for k in m :
123- if m [k ]:
124- d = m [k ].__dict__
125- if "version" in d and d ["version" ]:
126- r [k ] = d ["version" ]
127- elif "__version__" in d and d ["__version__" ]:
128- r [k ] = d ["__version__" ]
129- else :
130- r [k ] = "builtin"
131-
132- return r
125+ try :
126+ m = sys .modules
127+ r = {}
128+ for k in m :
129+ if m [k ]:
130+ d = m [k ].__dict__
131+ if "version" in d and d ["version" ]:
132+ r [k ] = d ["version" ]
133+ elif "__version__" in d and d ["__version__" ]:
134+ r [k ] = d ["__version__" ]
135+ else :
136+ r [k ] = "builtin"
137+
138+ return r
139+ except Exception as e :
140+ l .error (e )
141+
142+ return None
133143
134144 def collect_metrics (self ):
135145 u = resource .getrusage (resource .RUSAGE_SELF )
0 commit comments