File tree Expand file tree Collapse file tree 5 files changed +51
-4
lines changed Expand file tree Collapse file tree 5 files changed +51
-4
lines changed Original file line number Diff line number Diff line change @@ -193,6 +193,9 @@ class ProcessedCrash(models.Model):
193193 os_detail = models .CharField (max_length = 100 ,
194194 default = '' )
195195
196+ os_detail_parsed = models .CharField (max_length = 100 ,
197+ default = '' )
198+
196199 # CPU info
197200 cpu_architecture = models .CharField (max_length = 20 )
198201
@@ -236,6 +239,15 @@ def set_view_os_name_to_model(self, view_os_name):
236239 else :
237240 logger .warning ("could not determine the os: " + view_is_name )
238241
242+ def set_view_os_detail_parsed_to_model (self , view_os_detail ):
243+ if self .os_name == ProcessedCrash .LINUX :
244+ self .os_detail_parsed = self .os_name + ' ' + \
245+ view_os_detail .split ('Linux ' )[1 ].split ('-' )[0 ]
246+ elif self .os_name == ProcessedCrash .WINDOWS or self .os_name == ProcessedCrash .OSX :
247+ self .os_detail_parsed = self .os_name + ' ' + view_os_detail
248+ else :
249+ self .os_detail_parsed = view_os_detail
250+
239251 def _convert_frames (self , frame_list ):
240252 text = ""
241253 for frame in frame_list :
Original file line number Diff line number Diff line change @@ -84,6 +84,7 @@ def _parse_os(self, os_version):
8484 os_detail = parsed_line [2 ]
8585 self .processed_crash .os_detail = os_detail
8686 self .processed_crash .set_view_os_name_to_model (os_name )
87+ self .processed_crash .set_view_os_detail_parsed_to_model (os_detail )
8788
8889 def _parse_frames (self , frames ):
8990 threads = {}
Original file line number Diff line number Diff line change 1- $ ( document ) . ready ( function ( )
2- {
1+ $ ( document ) . ready ( function ( )
2+ {
33 $ ( "#tabs" ) . tabs ( ) ;
44 $ ( "#os_tab" ) . tabs ( ) ;
55 $ ( "#cpu_tab" ) . tabs ( ) ;
6+ $ ( "#os_detail_tab" ) . tabs ( ) ;
67 $ ( "#version_tab" ) . tabs ( ) ;
7- }
8- ) ;
8+ }
9+ ) ;
Original file line number Diff line number Diff line change @@ -174,6 +174,30 @@ <h2>CPU architecture</h2>
174174 </ div >
175175
176176 </ div >
177+ < div class ="panel ">
178+ < header class ="title ">
179+ < h2 > Detailed Operating System</ h2 >
180+ </ header >
181+ < div class ="content ">
182+ < table id ="os_detail_tab " class ="data-table ">
183+ < thead >
184+ < tr >
185+ < th class ="header "> Detail</ th >
186+ < th class ="header "> Count</ th >
187+ </ tr >
188+ </ thead >
189+ < tbody >
190+ {% for os_detail, count in os_detail_info.items %}
191+ < tr >
192+ < td > {{os_detail}}</ td >
193+ < td > {{count}}</ td >
194+ </ tr >
195+ {% endfor %}
196+ </ tbody >
197+ </ table >
198+ </ div >
199+
200+ </ div >
177201 </ div >
178202 </ div >
179203{% endblock %}
Original file line number Diff line number Diff line change @@ -81,6 +81,14 @@ def get_os_info(crashes):
8181
8282 return data
8383
84+ def get_os_detail_info (crashes ):
85+ detail_info = crashes .values ('os_detail_parsed' ).annotate (Count ('os_detail_parsed' ))
86+ data = {}
87+ for detail in detail_info :
88+ data [detail ['os_detail_parsed' ]] = detail ['os_detail_parsed__count' ]
89+
90+ return data
91+
8492def get_cpu_architecture (crashes ):
8593 cpu_architecture = crashes .values ('cpu_architecture' ).annotate (Count ('cpu_architecture' ))
8694
@@ -111,6 +119,7 @@ def get_context_data(self, **kwargs):
111119
112120 crashes = ProcessedCrash .objects .filter (signature = signature_object )
113121 context ['os_info' ] = get_os_info (crashes )
122+ context ['os_detail_info' ] = get_os_detail_info (crashes )
114123 context ['cpu_info' ] = get_cpu_architecture (crashes )
115124 context ['version_info' ] = get_version_info (crashes )
116125 return context
You can’t perform that action at this time.
0 commit comments