Changeset 3527
- Timestamp:
- 10/07/2009 09:38:06 PM (2 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
GraphUsers/gratia/src/gratia/config/gratia_bar_queries.xml
r3499 r3527 73 73 <filler name="where"> AND WallDuration > 0 </filler> 74 74 </sql> 75 <results> 76 <inputs> 77 <input name="pivot_transform">oim_resource_filter</input> 78 </inputs> 79 </results> 75 80 <attribute name="title"> Average Facility CPUs per Week </attribute> 76 81 <attribute name="pivot_name"> Facility </attribute> … … 119 124 <input name="grouping"> 1 </input> 120 125 <input name="results"> 2 </input> 126 <input name="pivot_transform">oim_resource_filter</input> 121 127 <input name="grouping_transform">make_int</input> 122 128 </inputs> … … 144 150 <results module="gratia.database.metrics" function="site_size_parser"> 145 151 <inputs> 152 <input name="pivot_transform">oim_resource_filter</input> 146 153 <input name="pivots"> 0 </input> 147 154 <input name="grouping"> 1 </input> … … 171 178 <results module="gratia.database.metrics" function="site_size_parser2"> 172 179 <inputs> 180 <input name="pivot_transform">oim_resource_filter</input> 173 181 <input name="pivots"> 0 </input> 174 182 <input name="grouping"> 1 </input> … … 198 206 <results module="gratia.database.metrics" function="size_classifier"> 199 207 <inputs> 208 <input name="pivot_transform">oim_resource_filter</input> 200 209 <input name="pivots"> 0 </input> 201 210 <input name="grouping"> 1 </input> … … 225 234 <results module="gratia.database.metrics" function="site_resource_classifier"> 226 235 <inputs> 236 <input name="pivot_transform">oim_resource_filter</input> 227 237 <input name="pivots"> 0 </input> 228 238 <input name="grouping"> 1 </input> … … 258 268 <input name="grouping"> 1 </input> 259 269 <input name="results"> 2 </input> 270 <input name="pivot_transform">oim_resource_filter</input> 260 271 <input name="grouping_transform">make_int</input> 261 272 </inputs> … … 280 291 <results> 281 292 <inputs> 293 <input name="pivot_transform">oim_resource_filter</input> 282 294 <input name="grouping_transform">make_int</input> 283 295 </inputs> … … 296 308 <results> 297 309 <inputs> 310 <input name="pivot_transform">oim_resource_filter</input> 298 311 <input name="grouping_transform">make_int</input> 299 312 </inputs> … … 313 326 <results> 314 327 <inputs> 328 <input name="pivot_transform">oim_resource_filter</input> 315 329 <input name="grouping_transform">make_int</input> 316 330 </inputs> … … 329 343 <results> 330 344 <inputs> 345 <input name="pivot_transform">oim_resource_filter</input> 331 346 <input name="grouping_transform">make_int</input> 332 347 </inputs> … … 393 408 <results> 394 409 <inputs> 410 <input name="pivot_transform">oim_resource_filter</input> 395 411 <input name="grouping_transform">make_int</input> 396 412 </inputs> … … 412 428 <results> 413 429 <inputs> 430 <input name="pivot_transform">oim_resource_filter</input> 414 431 <input name="grouping_transform">make_int</input> 415 432 </inputs> … … 426 443 <filler name="where"> AND WallDuration > 0 </filler> 427 444 </sql> 445 <results> 446 <inputs> 447 <input name="pivot_transform">oim_resource_filter</input> 448 </inputs> 449 </results> 428 450 <attribute name="pivot_name">Facility</attribute> 429 451 <attribute name="title">CPU Efficiency Quality Map by Site for $vo</attribute> … … 446 468 <results> 447 469 <inputs> 448 <input name="grouping_transform">make_int</input> 470 <input name="pivot_transform">oim_resource_filter</input> 471 <input name="grouping_transform">make_int</input> 449 472 <input name="results"> 2, 3 </input> 450 473 </inputs> … … 649 672 <results> 650 673 <inputs> 674 <input name="pivot_transform">oim_resource_filter</input> 651 675 <input name="grouping_transform">make_int</input> 652 676 </inputs> … … 665 689 <results module="gratia.database.query_handler" function="opportunistic_usage_parser"> 666 690 <inputs> 691 <input name="pivot_transform">oim_resource_filter</input> 667 692 <input name="grouping_transform">make_int</input> 668 693 </inputs> … … 705 730 <results module="gratia.database.query_handler" function="opportunistic_usage_parser2"> 706 731 <inputs> 732 <input name="pivot_transform">oim_resource_filter</input> 707 733 <input name="grouping_transform">make_int</input> 708 734 </inputs> GraphUsers/gratia/src/gratia/config/gratia_pie_queries.xml
r3313 r3527 230 230 <filler name="having"> HAVING sum(R.Cores*R.WallDuration)/3600 >= :min_hours </filler> 231 231 </sql> 232 <results> 233 <inputs> 234 <input name="pivot_transform">oim_resource_filter</input> 235 </inputs> 236 </results> 232 237 <attribute name="pivot_name"> Facility </attribute> 233 238 <attribute name="column_names"> Wall Time </attribute> … … 245 250 <filler name="having"> HAVING CpuHours >= :min_hours </filler> 246 251 </sql> 252 <results> 253 <inputs> 254 <input name="pivot_transform">oim_resource_filter</input> 255 </inputs> 256 </results> 247 257 <attribute name="pivot_name"> Facility </attribute> 248 258 <attribute name="column_names"> Wall Time </attribute> … … 282 292 <filler name="column"> sum(R.Njobs) </filler> 283 293 </sql> 294 <results> 295 <inputs> 296 <input name="pivot_transform">oim_resource_filter</input> 297 </inputs> 298 </results> 284 299 <attribute name="pivot_name"> Facility </attribute> 285 300 <attribute name="column_names"> Jobs </attribute> GraphUsers/gratia/src/gratia/database/query_handler.py
r3499 r3527 152 152 153 153 gratia_oim_vo_filter = GratiaOimVoFilter() 154 155 class OimResourceFilter(PeriodicUpdater): 156 """ 157 Depending on the given keywords, take the Gratia SiteName and return the 158 OIM Resource, Resource Group, Site, or Facility. 159 """ 160 161 def __init__(self): 162 self.url = "http://myosg.grid.iu.edu/rgsummary/xml?datasource=" \ 163 "summary&all_resources=on&summary_attrs_showwlcg=on" 164 super(OimResourceFilter, self).__init__(self.url) 165 166 def parse(self, results): 167 dom = xml.dom.minidom.parseString(results) 168 rg_to_r = {} 169 wlcg_to_r = {} 170 r_to_rg = {} 171 r_to_wlcg = {} 172 for rg_dom in dom.getElementsByTagName("ResourceGroup"): 173 try: 174 rgname = str(rg_dom.getElementsByTagName("GroupName")[0].\ 175 firstChild.data) 176 except: 177 continue 178 for r_dom in rg_dom.getElementsByTagName("Resource")[::-1]: 179 try: 180 rname = str(r_dom.getElementsByTagName("Name")[0].\ 181 firstChild.data) 182 wlcgname = str(r_dom.getElementsByTagName("AccountingName")\ 183 [0].firstChild.data) 184 except: 185 continue 186 rg_to_r[rgname] = rname 187 wlcg_to_r[wlcgname] = rname 188 r_to_rg[rname] = rgname 189 r_to_wlcg[rname] = wlcgname 190 return r_to_rg, r_to_wlcg, rg_to_r, wlcg_to_r 191 192 def __call__(self, *pivot, **kw): 193 pivot = pivot[0] 194 r_to_rg, r_to_wlcg, rg_to_r, wlcg_to_r = self.results() 195 preference = kw.get('group', 'resource') 196 if preference == 'resource': 197 if pivot in r_to_rg: 198 return pivot 199 return rg_to_r.get(pivot, pivot) 200 if preference == 'resource_group': 201 return r_to_rg.get(pivot, pivot) 202 if preference == 'wlcg': 203 if pivot in r_to_rg: 204 resource = pivot 205 else: 206 resource = rg_to_r.get(pivot, pivot) 207 return r_to_wlcg.get(resource, None) 208 return pivot 209 210 oim_resource_filter = OimResourceFilter() 154 211 155 212 class OimScienceFilter(PeriodicUpdater):
