Changeset 3527

Show
Ignore:
Timestamp:
10/07/2009 09:38:06 PM (2 months ago)
Author:
brian
Message:

Fixed groupings of graphs.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • GraphUsers/gratia/src/gratia/config/gratia_bar_queries.xml

    r3499 r3527  
    7373            <filler name="where"> AND WallDuration > 0 </filler> 
    7474        </sql> 
     75        <results> 
     76            <inputs> 
     77                <input name="pivot_transform">oim_resource_filter</input> 
     78            </inputs> 
     79        </results> 
    7580        <attribute name="title"> Average Facility CPUs per Week </attribute> 
    7681        <attribute name="pivot_name"> Facility </attribute> 
     
    119124          <input name="grouping"> 1 </input> 
    120125          <input name="results"> 2 </input> 
     126          <input name="pivot_transform">oim_resource_filter</input> 
    121127          <input name="grouping_transform">make_int</input> 
    122128        </inputs> 
     
    144150        <results module="gratia.database.metrics" function="site_size_parser"> 
    145151            <inputs> 
     152                <input name="pivot_transform">oim_resource_filter</input> 
    146153                <input name="pivots"> 0 </input> 
    147154                <input name="grouping"> 1 </input> 
     
    171178        <results module="gratia.database.metrics" function="site_size_parser2"> 
    172179            <inputs> 
     180                <input name="pivot_transform">oim_resource_filter</input> 
    173181                <input name="pivots"> 0 </input> 
    174182                <input name="grouping"> 1 </input> 
     
    198206        <results module="gratia.database.metrics" function="size_classifier"> 
    199207            <inputs> 
     208                <input name="pivot_transform">oim_resource_filter</input> 
    200209                <input name="pivots"> 0 </input> 
    201210                <input name="grouping"> 1 </input> 
     
    225234        <results module="gratia.database.metrics" function="site_resource_classifier"> 
    226235            <inputs> 
     236                <input name="pivot_transform">oim_resource_filter</input> 
    227237                <input name="pivots"> 0 </input> 
    228238                <input name="grouping"> 1 </input> 
     
    258268          <input name="grouping"> 1 </input> 
    259269          <input name="results"> 2 </input> 
     270          <input name="pivot_transform">oim_resource_filter</input> 
    260271          <input name="grouping_transform">make_int</input> 
    261272        </inputs> 
     
    280291      <results> 
    281292        <inputs> 
     293          <input name="pivot_transform">oim_resource_filter</input> 
    282294          <input name="grouping_transform">make_int</input> 
    283295        </inputs> 
     
    296308      <results> 
    297309        <inputs> 
     310          <input name="pivot_transform">oim_resource_filter</input> 
    298311          <input name="grouping_transform">make_int</input> 
    299312        </inputs> 
     
    313326      <results> 
    314327        <inputs> 
     328          <input name="pivot_transform">oim_resource_filter</input> 
    315329          <input name="grouping_transform">make_int</input> 
    316330        </inputs> 
     
    329343      <results> 
    330344        <inputs> 
     345          <input name="pivot_transform">oim_resource_filter</input> 
    331346          <input name="grouping_transform">make_int</input> 
    332347        </inputs> 
     
    393408      <results> 
    394409        <inputs> 
     410          <input name="pivot_transform">oim_resource_filter</input> 
    395411          <input name="grouping_transform">make_int</input> 
    396412        </inputs> 
     
    412428      <results> 
    413429        <inputs> 
     430          <input name="pivot_transform">oim_resource_filter</input> 
    414431          <input name="grouping_transform">make_int</input> 
    415432        </inputs> 
     
    426443        <filler name="where"> AND WallDuration > 0 </filler> 
    427444      </sql> 
     445      <results> 
     446        <inputs> 
     447          <input name="pivot_transform">oim_resource_filter</input> 
     448        </inputs> 
     449      </results> 
    428450      <attribute name="pivot_name">Facility</attribute> 
    429451      <attribute name="title">CPU Efficiency Quality Map by Site for $vo</attribute> 
     
    446468      <results> 
    447469        <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> 
    449472          <input name="results"> 2, 3 </input> 
    450473        </inputs> 
     
    649672      <results> 
    650673        <inputs> 
     674          <input name="pivot_transform">oim_resource_filter</input> 
    651675          <input name="grouping_transform">make_int</input> 
    652676        </inputs> 
     
    665689      <results module="gratia.database.query_handler" function="opportunistic_usage_parser"> 
    666690        <inputs> 
     691          <input name="pivot_transform">oim_resource_filter</input> 
    667692          <input name="grouping_transform">make_int</input> 
    668693        </inputs> 
     
    705730      <results module="gratia.database.query_handler" function="opportunistic_usage_parser2"> 
    706731        <inputs> 
     732          <input name="pivot_transform">oim_resource_filter</input> 
    707733          <input name="grouping_transform">make_int</input> 
    708734        </inputs> 
  • GraphUsers/gratia/src/gratia/config/gratia_pie_queries.xml

    r3313 r3527  
    230230        <filler name="having"> HAVING sum(R.Cores*R.WallDuration)/3600 >= :min_hours </filler> 
    231231      </sql> 
     232      <results> 
     233        <inputs> 
     234          <input name="pivot_transform">oim_resource_filter</input> 
     235        </inputs> 
     236      </results> 
    232237      <attribute name="pivot_name"> Facility </attribute> 
    233238      <attribute name="column_names"> Wall Time </attribute> 
     
    245250        <filler name="having"> HAVING CpuHours >= :min_hours </filler> 
    246251      </sql> 
     252      <results> 
     253        <inputs> 
     254          <input name="pivot_transform">oim_resource_filter</input> 
     255        </inputs> 
     256      </results> 
    247257      <attribute name="pivot_name"> Facility </attribute> 
    248258      <attribute name="column_names"> Wall Time </attribute> 
     
    282292        <filler name="column"> sum(R.Njobs) </filler> 
    283293      </sql> 
     294      <results> 
     295        <inputs> 
     296          <input name="pivot_transform">oim_resource_filter</input> 
     297        </inputs> 
     298      </results> 
    284299      <attribute name="pivot_name"> Facility </attribute> 
    285300      <attribute name="column_names"> Jobs </attribute> 
  • GraphUsers/gratia/src/gratia/database/query_handler.py

    r3499 r3527  
    152152 
    153153gratia_oim_vo_filter = GratiaOimVoFilter() 
     154 
     155class 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 
     210oim_resource_filter = OimResourceFilter() 
    154211 
    155212class OimScienceFilter(PeriodicUpdater):