Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • emsmith/athena
  • dzubov/athena
  • pscholer/athena
  • akvam/athena
  • flasagni/athena
  • hartman/athena
  • alux/athena
  • berenice/athena
  • mschott/athena
  • mgenest/athena
  • pbalek/athena
  • dsalvato/athena
  • korcyl/athena
  • tlyubush/athena
  • lyubushk/athena
  • gstark/athena
  • yharris/athena
  • lmonsoni/athena
  • nagano/athena
  • lcorpe/athena
  • lshi/athena
  • rrosten/athena
  • ytsujika/athena
  • tiledemo/athena
  • abagdato/athena
  • fparodi/athena
  • tmoxter/athena
  • lheinric/athena
  • milu/athena
  • pyin/athena
  • juesseiv/athena-celeritas
  • mmlynari/athena
  • matthier/athena
  • jsandesa/athena
  • borisov/athena
  • zchubini/athena
  • mpenzin/athena
  • mcorradi/athena
  • okovanda/athena
  • meevans/athena
  • isiral/athena
  • haa2mu2tau/athena
  • nkvu/athena
  • andre/athena
  • ebakos/athena
  • gwmyers/athena
  • lportale/athena
  • vasothil/athena
  • bwinter/athena
  • brle/athena
  • camacho/athena
  • icioara/athena
  • mcentonz/athena
  • quli/athena
  • mikhail/athena
  • begilber/athena
  • gartoni/athena
  • abkahn/athena
  • mbasso/athena
  • pagacova/athena
  • dgancarc/athena
  • stefania/athena
  • gmarchio/athena
  • jolsson/athena
  • atlasdqm/athena
  • chuanshu/athena
  • shimoji/athena
  • zhenw/athena
  • jojamies/athena
  • keli/athena
  • cnass/athena
  • beckerov/athena
  • passaggi/athena
  • marvin/athena
  • hdf5-utils/athena
  • pberta/athena
  • aaboulho/athena
  • acrobert/athena
  • ranjitn/athena
  • cescobar/athena
  • ktodome/athena
  • kastanas/athena
  • huirun/athena
  • atrzupek/athena
  • tzorbas/athena
  • lfountas/athena
  • ccarrion/athena
  • aambler/athena
  • derendar/athena
  • britzger/athena
  • hanl/athena
  • yygao/athena
  • gipezzul/athena
  • robertma/athena
  • epender/athena
  • mmineev/athena
  • pleier/athena
  • gnn4itkteam/athena
  • phkoenig/athena
  • nekumari/athena
  • avasyuko/athena
  • nguseyno/athena
  • pavel/athena
  • reznicek/athena
  • gtateno/athena
  • jiling/athena
  • aburke/athena
  • jcordeir/athena
  • lmcelhin/athena
  • herrmant/athena
  • averbyts/athena
  • xuh/athena
  • ewallin/athena
  • tnommens/athena
  • shbansal/athena
  • yuhui/athena
  • tvazquez/athena
  • gascott/athena
  • lserkin/athena
  • corentin/athena
  • miochoa/athena
  • ccaminch/athena
  • cdiez/athena
  • berkeleylab/CharmPhysics/athena
  • cpollard/athena
  • hfox/athena
  • madurano/athena_gittutorial
  • msykora/athena
  • jakoubek/athena
  • ckirfel/athena
  • calfayan/athena
  • kjohns/athena
  • dguest/athena
  • atlas/athena
  • toshi/athena
  • aundrus/athena
  • fwinkl/athena
  • akraszna/athena
  • wlampl/athena
  • rhauser/athena
  • phwindis/athena
  • karolos/athena
  • arnaez/athena
  • baines/athena
  • jmontejo/athena
  • mmuskinj/athena
  • damazio/athena
  • psommer/athena
  • bwynne/athena
  • okuprash/athena
  • tstreble/athena
  • ATLAS-EGamma/athena
  • smh/athena
  • yuxu/athena
  • turra/athena
  • toyamaza/athena
  • gemmeren/athena
  • tdado/athena
  • tadej/athena
  • ssnyder/athena
  • wwalko/athena
  • abuckley/athena
  • emoyse/athena
  • jmasik/athena
  • pgadow/athena
  • pjacka/athena
  • solodkov/athena
  • tamartin/athena
  • rbielski/athena
  • tbold/athena
  • dcasper/athena
  • mhodgkin/athena
  • mrybar/athena
  • nstyles/athena
  • mark/athena
  • ychiu/athena
  • christos/athena
  • rbianchi/athena
  • yoyamagu/athena
  • graemes/athena
  • nikiforo/athena
  • sshaw/athena
  • fpastore/athena
  • shlomit/athena
  • harkusha/athena
  • hartj/athena
  • mvozak/athena
  • jcatmore/athena
  • leggett/athena
  • ebuschma/athena
  • martindl/athena
  • gunal/athena
  • almaloiz/athena
  • ewelina/athena
  • tlari/athena
  • ligang/athena
  • susinha/athena
  • sroe/athena
  • filthaut/athena
  • lfiorini/athena
  • cchan/athena
  • longjon/athena
  • peter/athena
  • jichen/athena
  • cshimmin/athena
  • cvarni/athena
  • mihuebne/athena
  • wleight/athena
  • nwarrack/athena
  • jsallen/athena-high-pt-ms-jets
  • chays/athena
  • dkar/athena
  • dtovey/athena
  • sgeorge/athena
  • alfroch/athena
  • yafu/athena
  • mstamenk/athena
  • mgignac/athena
  • wiedenat/athena
  • okepka/athena
  • tkohno/athena
  • khoo/athena
  • maklein/athena
  • janovak/athena
  • cohm/athena
  • omajersk/athena
  • dbakshig/athena
  • tmkrtchy/athena
  • fernando/athena
  • gingrich/athena
  • schaarsc/athena
  • scheiric/athena
  • ponyisi/athena
  • pleskot/athena
  • ravinab/athena
  • jobalz/athena
  • ebergeas/athena
  • ekuwertz/athena
  • ekasimi/athena
  • afaulkne/athena
  • xai/athena
  • achishol/athena
  • merrenst/athena
  • alaurier/athena
  • goetz/athena
  • dpopov/athena
  • mtoscani/athena
  • krumnack/athena
  • mdanning/athena
  • astruebi/athena
  • egramsta/athena
  • clseitz/athena
  • hye/athena
  • bmindur/athena
  • ppostola/athena
  • efilmer/athena
  • shanisch/athena
  • ncalace/athena
  • jpanduro/athena
  • ssarikay/athena
  • aad/athena
  • hyamauch/athena
  • gpanizzo/athena
  • rcoelhol/athena
  • stelzer/athena
  • ssottoco/athena
  • tupham/athena
  • turnerm/athena
  • sutt/athena
  • nkrengel/athena
  • cmcginn/athena
  • rkopelia/athena
  • tsulaia/athena
  • bernius/athena
  • vcairo/athena
  • ldc/athena
  • stsuno/athena
  • yunju/athena
  • jmacdona/athena
  • mbandier/athena
  • jdandoy/athena
  • mehlhase/athena
  • jufische/athena
  • nasbah/athena
  • dzanzi/athena
  • kwhalen/athena
  • kzoch/athena
  • bmorgan/athena
  • amete/athena
  • msaimper/athena
  • rcarney/athena
  • williams/athena
  • hhibi/athena
  • shhirose/athena
  • kkohler/athena
  • cheidegg/athena
  • heng/athena
  • cdeutsch/athena
  • coccaro/athena
  • loch/athena
  • nova/athena
  • ynoguchi/athena
  • campanel/athena
  • todorova/athena
  • wbalunas/athena
  • sjiggins/athena
  • hoide/athena
  • xju/athena
  • bgokturk/athena
  • yuchou/athena
  • aytul/athena
  • lidiaz/athena
  • hrussell/athena
  • guerrero/athena
  • jbiswal/athena
  • kegraham/athena
  • bouhova/athena
  • kpachal/athena
  • alwang/athena
  • mverissi/athena
  • mvanadia/athena
  • dhayden/athena
  • alopezso/athena
  • omeshkov/athena
  • mvessell/athena
  • ssantpur/athena
  • soumya/athena
  • kenelson/athena
  • ruyuan/athena
  • upatel/athena
  • igrabows/athena
  • fmeloni/athena
  • tvarol/athena
  • mhank/athena
  • dshope/athena
  • korona/athena
  • anperrev/athena
  • cowagner/athena
  • eramakot/athena
  • tursom/athena
  • dbogavac/athena
  • tnobe/athena
  • fsforza/athena
  • fgiuli/athena
  • derue/athena
  • angianni/athena
  • koffas/athena
  • ballbroo/athena
  • diehl/athena
  • chinderk/athena
  • falonso/athena
  • myexley/athena
  • tphamleh/athena
  • davidek/athena
  • ekajomov/athena-general
  • hansenph/athena
  • sarbiolv/athena
  • salvator/athena
  • mfujimot/athena
  • masato/athena
  • stapiaar/athena
  • hirose/athena
  • jhaley/athena
  • jmendes/athena
  • stavrop/athena
  • nwenke/athena
  • agbet/athena
  • tpelzer/athena
  • dbabal/athena
  • gia/athena
  • hmildner/athena
  • juesseiv/athena
  • kkrizka/athena
  • cdelitzs/athena
  • ffabbri/athena
  • asonay/athena
  • temoskal/athena
  • iaizenbe/athena
  • ckitsaki/athena
  • czhou/athena
  • lferencz/athena
  • dwallace/athena
  • jiawei/athena
  • eschanet/athena
  • pmeiring/athena
  • mromano/athena
  • rustem/athena
  • jteoh/athena
  • sswatman/athena
  • liberato/athena
  • miqueits/athena
  • jbeirer/athena
  • elmsheus/athena
  • nielsenj/athena
  • wachan/athena
  • ranovotn/athena
  • markowen/athena
  • asquith/athena
  • fuhe/athena
  • nicholas/athena
  • eparrish/athena
  • dakoch/athena
  • mhance/athena
  • asoukhar/athena
  • aranzazu/athena
  • ndegroot/athena
  • lihan/athena
  • esoldato/athena
  • aporeba/athena
  • ginaciog/athena
  • jkempste/athena
  • tjunkerm/athena
  • verducci/athena
  • sschramm/athena
  • martis/athena
  • mdelmast/athena
  • mswiatlo/athena
  • ssaha/athena
  • pliu/athena
  • anmrodri/athena
  • bcarlson/athena
  • gabarone/athena
  • lstocker/athena
  • fastcalosim_test/athena
  • mxia/athena
  • scamarda/athena
  • rlongo/athena
  • guindon/athena
  • mdonasci/athena
  • amoussa/athena
  • chelling/athena
  • conde/athena
  • hmaguire/athena
  • mmittal/athena
  • ffollega/athena
  • gialas/athena
  • fcostanz/athena
  • shion/athena
  • cgutscho/athena
  • sschmitt/athena
  • sberlend/athena
  • nifomin/athena
  • acts/athena
  • zsoumaim/athena
  • eriefel/athena
  • jkremer/athena
  • dwilbern/athena
  • laforge/athena
  • evarnes/athena
  • guescini/athena
  • susy-hackers/athena
  • llorente/athena
  • akotsoke/athena
  • rpoggi/athena
  • istin/athena
  • haozturk/athena
  • acanesse/athena
  • kkoeneke/athena
  • fizisist/athena
  • fengyu/athena
  • rkarnam/athena
  • cmerlass/athena
  • navarrjo/athena
  • chenlian/athena
  • bulekov/athena
  • ysmirnov/athena_old
  • ivivarel/athena
  • amulski/athena
  • yanlin/athena
  • pkramer/athena
  • sanchevi/athena
  • restevam/athena
  • vcavalie/athena
  • bauerpa/athena
  • sefernan/athena
  • jgonski/athena
  • thsjurse/athena
  • smwang/athena
  • mmazza/athena
  • mmlynars/athena
  • wobisch/athena
  • iyeletsk/athena
  • csebasti/athena
  • itrandaf/athena
  • almgadm/athena
  • jhinds/athena
  • emmat/athena
  • mwielers/athena
  • mtchijov/athena
  • tiyang/athena
  • aleopold/athena
  • lapereir/athena
  • lmiller/athena
  • lucam/athena
  • pekman/athena
  • kciesla/athena
  • zuysal/athena
  • masaito/athena
  • rbalasub/athena
  • somadutt/athena
  • wmccorma/athena
  • salderwe/athena
  • jstupak/athena
  • kkreul/athena
  • adye/athena
  • ycoadou/athena
  • ilongari/athena
  • pinamont/athena
  • simmons/athena
  • wtaylor/athena
  • jzeng/athena
  • ssahin/athena
  • gcallea/athena
  • kbelobor/athena
  • fbartels/athena
  • aoneill/athena
  • dmaximov/athena
  • cschiavi/athena
  • kghorban/athena
  • ljeanty/athena
  • kasai/athena
  • jraine/athena
  • ecarlson/athena
  • mcfayden/athena
  • brottler/athena
  • scarra/athena
  • aelmouss/athena
  • gotero/athena
  • khanov/athena
  • abandyop/athena
  • rozeny/athena
  • nbelyaev/athena
  • aohatl/athena
  • rebeca/athena
  • joheinri/athena
  • doglioni/athena
  • alaperto/athena
  • amarzin/athena
  • bhonan/athena
  • bigliett/athena
  • rgarg/athena
  • dpudzha/athena
  • pmoskvit/athena
  • jajimene/athena
  • begalli/athena
  • yajun/athena
  • mpokidov/athena
  • paulama/athena
  • mtesta/athena
  • atlidali/athena
  • vcroft/athena
  • lbozianu/athena
  • barak/athena
  • demelian/athena
  • torrence/athena
  • wprzygod/athena
  • tofitsch/athena
  • sgalantz/athena
  • roward/athena
  • hacooke/athena
  • salnikov/athena
  • atsirigo/athena
  • csander/athena
  • mmiralle/athena
  • elrossi/athena
  • amoroso/athena
  • ozaplati/athena
  • jsabater/athena
  • alory/athena
  • jdevivi/athena
  • pottgen/athena
  • ymino/athena
  • pbokan/athena
  • ruth/athena
  • klin/athena
  • xchen/athena
  • cappelt/athena
  • trinn/athena
  • xiaoning/athena
  • nishu/athena
  • apetukho/athena
  • ratkin/athena
  • paramon/athena
  • enarayan/athena
  • bleban/athena
  • nelsonc/athena
  • juhofer/athena
  • exot-27/athena
  • dpizzi/athena
  • ztarem/athena
  • sampson/athena
  • qhu/athena
  • acassim/athena
  • bburghgr/athena
  • mmarjano/athena
  • mkrivos/athena
  • ychow/athena
  • pagessin/athena
  • nviauxma/athena
  • hessey/athena
  • watsona/athena
  • LichtenbergGroup/athena
  • ibordule/athena
  • wfawcett/athena
  • perj/athena
  • othielma/athena
  • jdegens/athena
  • jreich/athena
  • mleblanc/athena
  • ztao/athena
  • hasada/athena
  • pmendesa/athena
  • sridouan/athena
  • alainb/athena
  • wgeorge/athena
  • kristin/athena
  • bachacou/athena
  • xiaohu/athena
  • ludovica/athena
  • musafdar/athena
  • yama/athena
  • ssu/athena
  • angerami/athena
  • rnayak/athena
  • yake/athena
  • jlsmith/athena
  • ktsuri/athena
  • pebaron/athena-weights
  • mproffit/athena
  • jezequel/athena
  • hschwart/athena
  • amendesj/athena
  • gproto/athena
  • rerrabai/athena
  • lhelary/athena
  • asalzbur/athena
  • csamoila/athena
  • tiany/athena
  • malgren/athena
  • mprincip/athena
  • spolacek/athena
  • lbeemste/athena
  • tboeckh/athena
  • grabanal/athena
  • aczirkos/athena
  • kyamaguc/athena
  • silvinha/athena
  • bmondal/athena
  • asantra/athena
  • jreidels/athena
  • tdiasdov/athena
  • jroloff/athena
  • bozek/athena
  • lkrauth/athena
  • holau/athena
  • mdhlamin/athena
  • slawlor/athena
  • emily/athena
  • iramirez/athena
  • mtian/athena
  • carlod/athena
  • bbrueers/athena
  • mgrabois/athena
  • bcole/athena
  • ecelebi/athena
  • idinu/athena
  • oducu/athena
  • hmoyanog/athena-4-mr
  • dhirsch/athena
  • jjwilkin/athena
  • roishi/athena
  • ygo/athena
  • yuanchan/athena
  • sbiryuko/athena
  • ggustavi/athena
  • diwillia/athena
  • exochell/athena
  • skorn/athena
  • scalvet/athena
  • cgarner/athena
  • jwspence/athena
  • changqia/athena
  • honguyen/athena
  • calpigia/athena
  • atsiamis/athena
  • jizamora/athena
  • rysawada/athena
  • adimitri/athena
  • yangx/athena
  • cmarcon/athena
  • kpetukho/athena
  • iene/athena
  • dhangal/athena
  • atlidbs/athena
  • tbisanz/athena
  • jspah/athena
  • athaler/athena
  • tqiu/athena
  • jkretz/athena
  • jcardena/athena
  • dopasqua/athena
  • tzenis/athena
  • ryamaguc/athena
  • hzuchen/athena
  • oshukrun/athena
  • lveloce/athena
  • maliev/athena
  • tsano/athena
  • fdelrio/athena
  • mumohdso/athena2
  • sagara17/athena
  • iwang/athena
  • okumura/athena
  • mbiros/athena
  • dmunozpe/athena
  • mumohdso/athena
  • rhayes/athena
  • arennie/athena
  • valentem/athena
  • caforio/athena
  • koshimiz/athena
  • evguillo/athena
  • atate/athena
  • dossantn/athena
  • yuzhan/athena
  • zhijie/athena
  • maly/athena
  • hlin/athena
  • zearnsha/athena
  • bnachman/athena
  • suyounas/athena
  • rjoshi/athena
  • mtost/athena
  • machitis/athena
  • lunedic/athena
  • crougier/athena
  • lvannoli/athena
  • mimarine/athena
  • dounwuch/athena
  • ndebiase/athena
  • thompson/athena
  • omezhens/athena
  • nkakati/athena
  • jonierma/athena
  • saclawso/athena
  • hhanif/athena
  • cprat/athena
  • echeu/athena
  • mischott/athena
  • martinpa/athena
  • tiknight/athena
  • csauer/athena
  • sahinsoy/athena
  • jodamp/athena
  • inaryshk/athena
  • fedin/athena
  • wendlanb/athena
  • knikolop/athena
  • xchu/athena
  • lkeszegh/athena
  • lbaltes/athena
  • angrigor/athena
  • adik/athena
  • jaoliver/athena
  • eschopf/athena
  • echeremu/athena
  • ntamir/athena
  • pbellos/athena
  • idrivask/athena
  • aikoulou/athena
  • sadykov/athena
  • haweber/athena
  • algilber/athena
  • ignesi/athena
  • sgurdasa/athena
  • pyanezca/athena
  • pamachad/athena
  • hiito/athena
  • tteixeir/athena
  • pbhattar/athena
  • tavandaa/athena
  • wolter/athena
  • mdrozdov/athena
  • bsaifudd/athena
  • veellajo/athena
  • nheatley/athena
  • fdibello/athena
  • fsili/athena
  • dparedes/athena
  • mzhai/athena
  • hsimpson/athena
  • zyan/athena
  • minaenko/athena
  • mrenda/athena
  • chchau/athena
  • emmarsha/athena
  • zhangr/athena
  • jburzyns/athena
  • rkusters/athena
  • edweik/athena
  • javanden/athena
  • zmarshal/athena
  • slai/athena
  • awilhahn/athena
  • agaa/athena
  • phkenned/athena
  • leevans/athena
  • llaatu/athena
  • zfeng/athena
  • srdas/athena
  • kkrowpma/athena
  • stsigari/athena
  • adonofri/athena
  • zifeng/athena
  • yuanda/athena
  • atropina/athena
  • atlaspmb/athena
  • cleonido/athena
  • metsai/athena
  • drousso/athena
  • seggebre/athena
  • kchoi/athena
  • mnoury/athena
  • ademaria/athena
  • arombola/athena
  • dgillber/athena
  • ijuarezr/athena
  • axiong/athena
  • eyamashi/athena
  • zang/athena
  • amdesai/athena
  • matakagi/athena
  • saktas/athena
  • nlopezca/athena
  • qibin/athena
  • fbendebb/athena
  • berkeleylab/lowmutracking/athena
  • acanbay/athena
  • jferrand/athena
  • bshresth/athena
  • tbuanes/athena
  • klassen/athena
  • hpotti/athena
  • egodden/athena
  • otheiner/athena-official
  • cbuitrag/athena
  • vtudorac/athena
  • mfarring/athena
  • hawatson/athena
  • chonghao/athena
  • dzengerj/athena
  • parodi/athena
  • buboehm/athena
  • bballard/athena
  • lmontana/athena
  • zhuyi/athena
  • knakkali/athena
  • dcieri/athena
  • weixi/athena
  • cimcp/athena
  • adaribay/athena
  • cantel/athena
  • kbenkend/athena
  • iliadis/athena
  • duperrin/athena
  • asansar/athena
  • jburr/athena
  • dkoeck/athena
  • isotarri/athena
  • frenner/athena
  • czodrows/athena
  • bstanisl/athena
  • blumen/athena
  • mfewell/athena
  • eegidiop/athena
  • smitani/athena
  • miholzbo/athena
  • yulei/athena
  • amincer/athena
  • alsala/athena
  • clantz/athena
  • olangrek/athena
  • hpang/athena
  • gshatri/athena
  • jmharris/athena
  • jgargan/athena
  • gripelli/athena
  • otheiner/athena
  • ewatton/athena
  • preselection-hackathon/athena
  • mleigh/athena
  • tizuo/athena
  • rushioda/athena
  • smeriano/athena
  • sfranche/athena
  • bernardo/athena
  • deniso/athena
  • mfernoux/athena
  • jnitschk/athena
  • chandler/athena
  • pebaron/athena-td
  • viruelas/athena
  • ksugizak/athena
  • hriani/athena
  • anghosh/ef-anindya
  • skaur/athena
  • yusano/athena
  • davetisy/athena
  • yochi/athena
  • wsherman/athena
  • rtagami/athena
  • jgombas/athena
  • vcepaiti/athena
  • sroygara/athena
  • apsallid/athena
  • almay/athena
  • yuanj/athena
  • chji/athena
  • abunka/athena
  • dmahon/athena
  • pakontax/athena
  • agavrily/athena
  • dmclaugh/athena
  • mcgensvc/athena
  • giagu/athena
  • cjmeyer/athena
  • dkobylia/athena
  • yuwen/athena
  • qberthet/athena
  • mshapiro/athena
  • ekay/athena
  • mbarel/athena
  • islazyk/athena
  • osalin/athena
  • baitbenc/athena
  • dakiyama/athena
  • rdinardo/athena
  • glamprin/athena
  • szambito/athena
  • minlin/athena
  • mlanzacb/athena
  • cgrefe/athena
  • kazhang/athena
  • wsfreund/athena
  • beringer/athena
  • pebaron/athena
  • hwilkens/athena
  • enagy/athena
  • menke/athena
  • yyap/athena
  • mavogel/athena
  • mspalla/athena
  • fcalosim/athena
  • smobius/athena
  • carquin/athena
  • mduehrss/athena
  • schaffer/athena
  • tkharlam/athena
  • spagan/athena
  • rateixei/athena
  • dportill/athena
  • okiverny/athena
  • jelena/athena
  • lmijovic/athena
  • chhayes/athena
  • osunnebo/athena
  • desilva/athena
  • jwalder/athena
  • junpei/athena
  • sanmay/athena
  • satom/athena
  • tilebeam/athena
  • mcarnesa/athena
  • jahreda/athena
  • jstark/athena
  • kiabelin/athena
  • vtskhaya/athena
  • jedebevc/athena
  • krbjoerk/athena
  • cyoung/athena
  • delsart/athena
  • silu/athena
  • jtanaka/athena
  • mtogawa/athena
  • luxin/athena
  • haoran/athena
  • danning/athena
  • yifany/athena
  • maslawin/athena
  • beddall/athena
  • minghui/athena
  • faser/offline/athena
  • dcasperfaser/athena
  • cfan/athena
  • almeidvi/athena
  • srettie/athena
  • vmartin/athena
  • mmontell/athena
  • kazheng/athena
  • beltran/athena-fork
  • kgupta/athena
  • lhenkelm/athena
  • pajones/athena
  • ssinha/athena
  • sudha/athena
  • lgagnon/athena
  • anbaraja/athena
  • dpanchal/athena
  • joana/athena
  • serodrig/athena
  • mtanasin/athena
  • amorenos/athena
  • kkawade/athena
  • jshahini/athena
  • chiodini/athena
  • apalazzo/athena
  • vbuxbaum/athena
  • gonzalri/athena
  • kburka/athena
  • ehaines/athena
  • lfeligio/athena
  • jaofferm/athena
  • desengup/athena
  • rmazini/athena
  • gavrilen/athena
  • mdidenko/athena
  • gottino/athena
  • dwkim/athena
  • qidong/athena
  • sabidi/athena
  • cdimitri/athena
  • bkerridg/athena
  • hazeng/athena
  • ktackman/athena
  • mischott/athena-22
  • yche/athena
  • yoyeh/athena
  • jingjing/athena
  • ktopolni/athena
  • dabattul/athena
  • attrtcal/athena
  • sgaid/athena
  • thmaurin/athena
  • asciandr/athena
  • chjiang/athena
  • bochen/athena
  • krdona/athena
  • lbazzano/athena
  • rushioda/athena-3
  • dtorresa/athena
  • pclark/athena
  • kvidalgu/athena
  • meiqi/athena
  • nlad/athena
  • aackerma/athena
  • hmoyanog/athena
  • aaikot/athena
  • jcurran/athena
  • yingjun/athena
  • maboelel/athena
  • xinfei/athena
  • lesplend/athena
  • aivina/athena
  • mschefer/athena
  • rmakhman/athena
  • xinhui/athena
  • zhiliang/athena
  • kazheng/athena-physics-val-2023
  • zoduan/athena
  • shhan/athena
  • bdixit/athena
  • liuk/athena
  • alsidley/athena
  • jlue/athena
  • sfrances/athena
  • kyjones/topoetcone-removal
  • ragrabar/athena
  • xingguo/athena
  • asehrawa/athena
  • niabicht/athena
  • mhoppesc/athena
  • shahzad/athena
  • yunagai/athena
  • keener/athena
  • llewitt/athena
  • lcalic/athena-backup
  • bschlag/athena
  • greynold/athena
  • adohnalo/athena
  • kazheng/athena-workingpoint
  • agentry/athena
  • yinmiao/athena
  • bruckman/athena
  • nkang/athena
  • drankin/athena
  • berkeleylab/acts/athena
  • kbhide/athena
  • hvanders/athena
  • ladamczy/test
  • tbeumker/athenatest
  • tbeumker/athena
  • asmaga/athena
  • losanti/athena
  • losanti/athena-23
  • weitao/athena
  • menu-hackathon/athena
  • jiturriz/athena
  • dmankad/athena-idle
  • kyjones/trigger-example
  • vmaksimo/athena
  • wsong/athena
  • seggebre/athena-fluencemap-modification
  • dawerner/athena
  • edreyer/athena
  • toobauma/athena
  • fisopkov/athena
  • lprimomo/athena
  • gtarna/athena
  • smanzoni/athena
  • shmukher/athena
  • SecVtx-Lancaster/Athena
  • maparo/athena
  • adimri/athena
  • pgraveli/athena
  • aackerma/atlas-athena
  • jcrosby/athena
  • wstanek/athena
  • atlas-sa-uct/athena
  • lrambell/athena
  • tovsiann/athena
  • rsnyder/athena
  • eullmank/athena
  • ppotepa/athena
  • skita/athena
  • mhemmett/athena
  • zgao/athena
  • lroos/athena
  • achakrav/athena
  • thmaurin/athena-sim-flavour
  • kgoto/athena
  • rashbypi/athena
  • xmapekul/athena
  • evitale/athena
  • arej/athena
  • ivyas/athena
  • epasqual/athena
  • lkretsch/athena
  • jebohm/athena
  • npond/athena
  • aleksand/athena
  • hluk/athena
  • mbiyabi/athena
  • dbiswas/athena
  • cvittori/athena
  • aralves/athena
  • mkareem/athena
  • dkoeck/anniathenafork
  • mihe/athena
  • tslee/athena
  • croland/athena
  • rgupta/athena
  • mhaacke/athena
  • pkumari/athena
  • cgarvey/athena
  • kesedlac/athena
  • ctosciri/athena-old
  • feickert/athena
  • ctosciri/athena
  • ricunnin/athena
  • agerwin/athena
  • asoflau/athena
  • gtolkach/athena
  • gfrattar/athena
  • bscheuer/athena
  • bdixit/masking-strip-modules
  • gwilliam/athena
  • jfeng2/athena
  • svanstro/athena
  • ksudo/athena
  • rhiguchi/athena
  • etoyoda/athena
  • gaofeng/athena
  • kosuzuki/athena
  • rmizuhik/athena
  • kkanke/athena
  • hart/athena
  • vaustrup/athena
  • tnakagaw/athena
  • whopkins/athena
  • amakita/athena
  • maoki/athena
  • miyamada/athena
  • rishikaw/athena
  • tpaschoa/athena
  • dduda/athena
  • ferusso/athena
  • anayaz/athena
  • shudong/athena
  • aagaard/athena
  • evalient/athena
  • smweber/athena
  • smweber/athena-run-3
  • evalient/athena-dnn-calculator
  • zyan/athena-muon-calib
  • dellacqu/athena
  • zyan/athena-muon-calib-stream
  • jsallen/athena
  • strom/athena
  • strom/athena-dms
  • glagafon/project-nimber-1
  • sbellman/athena
  • brosser/athena
  • leguo/athena
  • macretar/athena
  • skadir/athena-sadaf
  • glagafon/handi-project
  • aowang/athena
  • ooncel/athena
  • jhoya/athena
  • tygeorge/athena
  • wuxi/athena
  • mnorfolk/athena
  • syan/athena-syan
  • hasun/athena
  • osotosan/athena
  • glagafon/handi-project-1
  • will/athena
  • schernau/athena
  • axgallen/athena-qualification-task
  • karakawa/athena
  • aborbely/athena
  • seinfant/athena
  • dmankad/athena-gen
  • taogawa/athena
  • ktariq/athena
  • tmlinare/athena
  • agarabag/athena
  • mmaroun/ravina-fork
  • axgallen/athena
  • romar/athena
  • zuzak/athena
  • dhagan/athena
  • vlysenko/athena
  • mahorstm/athena
  • tizhang/athena
  • ipolishc/athena
  • xilin/athena
  • ibamwidh/athena
  • frfische/athena
  • jlue/athena-latest
  • huayu/athena
  • atishelm/athena
  • jolamber/athena
  • ykhoulak/myathena
  • yil/athena
  • chuanye/athena
  • dntounis/athena
  • kifarman/athena
  • nkua-atlas/athena
  • tayoshid/athena
  • steinber/athena-main
  • nischmit/athena
  • lderamo/athena
  • movincen/athena
  • dtruncal/athena
  • tdingley/athena
  • kazheng/athena-acts
  • dongyi/athena
  • malvesca/athena
  • hasegawa/athena
  • openc/athena
  • mnowak/athena
  • glagafon/dq-optimize
  • ekajomov/athena-fork-fix
  • ladamczy/athena
  • mhufnage/athena
  • lsultana/obsolete_athena
  • lsultana/athena
  • lcalic/athena
  • alveltma/athena
  • anfortma/athena
  • kfung/athena
  • rqian/athena
  • yonoda/athena
  • alpleban/athena
  • mmaheshw/athena
  • anstein/athena
  • gbird/athena
  • pebaron/athena-leprem
  • jdavidso/athena
  • bglik/athena
  • midandre/athena
  • anhodges/athena
  • edcritel/athena
  • mfurukaw/athena
  • mvivasal/athena
  • mmlynars/athena-v-2
  • asbrooks/athena
  • fcurcio/athena
  • sokkerma/athena
  • kyjones/athena
  • mveen/athena
  • lboccard/athena
  • jmcgowan/athena
  • tburatov/athena
  • dmankad/athena
  • joroemer/athena
  • ivyoung/athena
  • tayoshid/athena-test
  • drasslof/athena
  • jodafons/athena
  • ctaybi/athena
  • tmclachl/athena
  • sdemiran/athena
  • sanchezj/athena-2022
  • jiddon/athena
  • anburger/athena
  • sdahbi/athena
  • sidoti/athena
  • fwinkel/athena
  • apfleger/athena
  • izahir/athena
  • goblirsc/athena
  • mmoors/athena
  • sanchezj/athena
  • jwkraus/athena
  • rhaberle/athena
  • obut/athena
  • klleras/athena
  • rvinasco/athena
  • esimpson/athena
  • jhowarth/athena
  • dta/athena_old
  • janders/athena
  • jchapman/athena
  • sfuenzal/athena
  • mungo/athena
  • avallier/athena
  • fmontere/athena
  • jecouthu/athena
  • dtrischu/athena
  • fhenry/athena
  • misantan/athena
  • awharton/Athena
  • zalegria/athena
  • gdigrego/athena
  • zhaotong/athena
  • amelo/athena
  • shaoguan/athena
  • nbruscin/athena
  • acordeir/athena-ed
  • pdougan/athena
  • peiyan/athena
  • caiy/athena
  • mkholoda/athena
  • fkirfel/athena
  • kchu/athena
  • backes/athena
  • tayoshid/athena-2024
  • gfacini/athena
  • esampson/athena-idart
  • bcervato/athena
  • gmascare/athena
  • fwinkl2/athena
  • shpeng/athena-2
  • gmercado/athena
  • rhowen/athena
  • esampson/athena-idart-2
  • costanzo/athena
  • nharriso/athena
  • yvolkotr/athena
  • djlewis/athena
  • yuematsu/athena
  • pibutti/athena
  • esampson/athena-otp
  • alpleban/athena-met
  • wcastigl/athena
  • astefl/athena
  • yilin/athena
  • esampson/athena-june-otp
  • bmoser/athena
  • bdong/athena
  • ksahan/athena
  • thitchin/athena
  • sosarkar/athena-again
  • zhanhang/athena
  • lbarrade/athena
  • msasada/athena
  • seth/athena
  • agheata/athena
  • nsurijr/athena
  • txu/athena
  • robouque/athena
  • esampson/june-2-otp
  • okolay/athena
  • zhangbo/athena
  • mlyukova/athena
  • dbaronmo/athena
  • wema/athena
  • damperia/athena-acts
  • eballabe/athena
  • martyniu/athena
  • boudreau/athena
  • bhuth/athena
  • acamplan/athena
  • bngair/met-significance-r-22
  • vsasse/athena
  • bngair/me-tsig-athena
  • domatter/athena
  • menadeem/athena
  • atymchys/athena
  • yanqiw/athena
  • linghua/athena
  • ksakura/athena
  • vkost/athena
  • rhicks/athena
  • arelycg/athena
  • juscerri/athena
  • skadir/athena
  • sgoswami/athena
  • biliu/athena
  • sosarkar/athena
  • beltran/athena
  • mwessels/athena
  • bdebjani/athena
  • ddicroce/athena
  • hshaddix/athena
  • dreikher/athena
  • fladias/athena
  • lwinkler/athena
  • elham/athena
  • emoon/athena
  • haren/athena
  • mhabedan/athena
  • dwilson/athena
  • cleong/athena
  • sdiefenb/athena-onnx-tutorial
  • nkrogh/athena
  • fivone/athena
  • thart/athena
  • mads/athena
  • lifoster/athena
  • lsanfili/athena
  • dahumphr/athena
  • scane/athena
  • echerepa/athena
  • baer/athena
  • dcamarer/athena
  • kenakamu/athena
  • eskorda/athena
  • alancast/athena
  • glagafon/aaaathena
  • salopez/athena
  • haotianl/athena
  • rshibata/athena
  • glagafon/athena
  • rvavrick/athena
  • ukhurshi/athena
  • lburke/athena
  • glagafon/glagafon-dq
  • pizhang/athena
  • therwig/athena
  • htsoi/athena
  • delitez/athena
  • mwitkows/athena
  • pachabri/athena
  • lcorazzi/athena
  • ezaya/athena
  • casadop/athena
  • jaburles/athena
  • achamber/athena
  • mmantina/athena
  • hzhuang/athena
  • lmonaco/athena
  • rmole/athena
  • jkrupa/athena
  • mamirono/athena
  • mfornasi/athena
  • rpozzi/athena
  • gserenis/athena
  • semami/athena
  • fdattola/athena
  • jinglis/athena
  • belderto/athena
  • uepstein/athena
  • lechols/athena
  • ljerala/athena
  • cmavungu/athena
  • lopezzot/athena
  • abesir/athena
  • jlittle/athena
  • jajohnso/athena
  • htorre/athena
  • robouque/athena-20241115
  • fsiegert/athena
  • wguerin/athena
  • rmole/athena-personal-fork
  • tneep/athena
  • lbrown/athena
  • wenjingw/athena
  • kfang/athena-fork-kyfang
  • prmitra/athena
  • epompapa/athena
  • jackersc/athena
  • ashirazi/athena
  • wasu/athena
  • gfazzino/athena
  • amoreira/athena
  • aslobodk/athena
  • goetz/athena-acts
  • kgrimm/athena-kgrimm
  • toheintz/athena
  • nihartma/athena
  • kdipetri/athena
  • yazhou/athena
  • alarnold/athena
  • djuarezg/athena
  • muschmid/athena
  • wlai/athena
  • falves/athena
  • rohasan/athena
  • mborodin/athena
  • mdacunha/athena
  • asickles/athena
  • alecrhys/athena
  • novotnyp/athena
  • adsalvad/athena
  • lvicenik/athena
  • christog/athena
  • zetao/athena
  • ibenaoum/athena
  • kkazakov/athena
  • tflee/athena
  • mfarzali/athena
  • llarson/athena
  • frcastig/athena
  • ehampshi/athena
  • exochell/my-athena
  • jusilva/athena
  • tomoya/athena-low-pt-muon-rec
  • pusharma/athena
  • gpinheir/athena
  • hshaddix/athena-hshaddix
  • jecifuen/athena
  • nshtokha/athena
  • jlieberm/athena
  • chhultqu/athena
  • misavic/athena
  • camccrac/athena
  • mojeda/athena
  • vchabala/athena
  • nsur/athena-lund
  • jlai/athena
  • pmourafr/athena
  • yuxuanz/local-athena
  • yukari/athena
  • sizumiya/athena
  • akraus/athena
  • mfilipig/athena
  • mnegrini/athena
  • zhubacek/athena
  • sawyer/athena
  • rkavak/athena
  • fdejean/athena
  • zrokavec/athena
  • yanqiw/athena-acts-for-run-3-silicon-tracking
  • beyeo/athena
  • ssuravar/athena
  • gipoddar/athena
  • stlin/athena
  • mtancock/athena-2
  • ywng/athena
  • fballi/athena
  • gsalvi/athena
  • vpires/athena-vasco
  • sutuncay/athena
  • ndiasper/athena
  • hadavand/athena
1578 results
Show changes
Commits on Source (57)
Showing
with 227 additions and 188 deletions
......@@ -23,5 +23,5 @@ atlas_add_component( PerfMonComps
AthDSoCallBacks nlohmann_json::nlohmann_json)
# Install files from the package:
atlas_install_python_modules( python/*.py )
atlas_install_joboptions( share/*.py )
atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
atlas_install_joboptions( share/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# @file PerfMonComps/python/DomainsRegistry.py
# @purpose hold a registry of alg names and their association w/ domain
......@@ -158,8 +158,6 @@ class Registry(object):
"""
if registry is None:
registry=self._registry
start_alg = None
idx = None
for ielmt, elmt in enumerate(registry):
if elmt[0] == name:
return ielmt, elmt[1]
......@@ -328,7 +326,7 @@ class Registry(object):
if not self._dirty_db:
return dict(self._d2a_db)
# side-effect of calling self.algs: will build self._d2a_db
a2d = self.algs
a2d = self.algs # noqa: F841
return dict(self._d2a_db)
@property
......@@ -443,9 +441,6 @@ def _test_main():
print(" ref: ",ref[d])
assert algs == ref[d]
db = pdr.a2d_db()
db = pdr.d2a_db()
print("OK")
return 0
......
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# @file: JobOptCfg.py
# @purpose: a customized Configurable class for the PerfMonSvc
......@@ -145,11 +145,11 @@ class PerfMonSvc( _PerfMonSvc ):
ioLabels = [ "streamRDO","streamESD",
"streamAOD","streamTAG",
"inputBackNav","inputFile" ]
for l in ioLabels:
for z in ioLabels:
try:
ioContainers.extend(keystore[l].list())
ioContainers.extend(keystore[z].list())
except AttributeError:
for k,v in keystore[l].items():
for k,v in keystore[z].items():
ioContainers += [ "%s#%s" % (k,c) for c in v ]
pass
## collect everything
......
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# Job options configuration file for PerfMonMTSvc
......@@ -26,8 +26,6 @@ class PerfMonMTSvc ( _PerfMonMTSvc ):
if not isinstance(handle, PerfMonMTSvc):
return
from AthenaCommon import CfgMgr
## Enable the auditors
from AthenaCommon.AppMgr import theApp
theApp.AuditAlgorithms = True
......
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
from __future__ import print_function
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
__doc__ ='Module for parsing and basic analysis of Semi-Detailed PerfMon (PMonSD) output. More info at https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PerfMonSD'
__author__='Thomas Kittelmann <thomas.kittelmann@cern.ch>'
......@@ -15,7 +14,8 @@ def pmonsd_version():
def parse(infile,outfile=None):
"""Parse PMonSD output and return list of dictionaries. Optionally save output in pickle file."""
p=__smart_parse(infile)
if p==None: return None
if p is None:
return None
if outfile:
__save_output(p,outfile,'.psd',infile)
return p
......@@ -25,14 +25,15 @@ def deparse(infile):
identical to the ones it was parsed from"""
out=[]
p=__smart_parse(infile)
if p==None: return []
if p is None:
return []
for e in p:
out+=__deparse_single(e)
return out
def need_line(l):
def need_line(z):
"""To identify lines which PMonSD needs for parsing"""
return l.startswith(_appname)
return z.startswith(_appname)
def print_ascii(infile):
"""Print parsed PMonSD info to stdout"""
......@@ -52,13 +53,16 @@ def _validate_identical(infile1,infile2):
#For validation
p1=__smart_parse(infile1)
p2=__smart_parse(infile2)
if p1==None or p2==None: return False
if p1 is None or p2 is None:
return False
return p1==p2
def force_share(obj):
"""Dive into lists and dictionaries and make sure strings with similar content gets shared"""
if type(obj)==list: __fs_list(obj)
elif type(obj)==dict: __fs_dict(obj)
if type(obj)==list:
__fs_list(obj)
elif type(obj)==dict:
__fs_dict(obj)
def get_shared_string(s): return __get_shared_string(s)
......@@ -94,7 +98,7 @@ def __save_output(data,outfile,prefix,infile=None):
fh=gzip.open(outfile,'w')
else:
fh=open(outfile,'w')
if infile!=None and outfile==infile:
if infile is not None and outfile==infile:
print("%s.parse WARNING: output file %s equals input file. Won't dump."%(_appname,outfile))
else:
import cPickle
......@@ -146,8 +150,10 @@ def __smart_parse(infile):
else:
#in case this is already parsed info, make sure we just return it as it is:
if type(infile)==list:
if len(infile)==0: return infile
if type(infile[0])==dict and 'steps_comps' in infile[0].keys(): return infile
if len(infile)==0:
return infile
if type(infile[0])==dict and 'steps_comps' in infile[0].keys():
return infile
#Hopefully this is something we can iterate through (like a list of strings or a file-handle):
return __actual_parse(infile)
......@@ -168,13 +174,13 @@ def __actual_parse(filehandle):
return (float(v),int(i))
d=new_dict()
stepcount={}#for keeping track of in what order within each step a component is listed
for l in filehandle:
if not l.startswith(_prefix):
for z in filehandle:
if not z.startswith(_prefix):
continue
#ensure the first thing we pick up is the version:
if version==None:
if intro_version in l:
vstr=l.split(intro_version)[1].split()[0]
if version is None:
if intro_version in z:
vstr=z.split(intro_version)[1].split()[0]
full_info=vstr[-1]=='f'
v_major,v_minor=vstr[:-1].split('.')
version=(int(v_major),int(v_minor))
......@@ -185,22 +191,23 @@ def __actual_parse(filehandle):
print("WARNING: Using PMonSD of version %f to parse output made with version %f"%(pmonsd_version(),version))
continue
#remove prefix:
l=l[len(_prefix):].strip()
if l.startswith('WARNING'): continue
if l.startswith('=='):
z=z[len(_prefix):].strip()
if z.startswith('WARNING'):
continue
if z.startswith('=='):
#This is a comment/separator. Look for end marker:
if end_marker in l:
if end_marker in z:
#found. Grab parsed info and make room for more (in case of concatenated logs)
output+=[d]
d=new_dict()
version=None#reset
elif 'Full output inside:' in l:
filename=l.split('Full output inside:')[1].split('===')[0].strip()
elif 'Full output inside:' in z:
filename=z.split('Full output inside:')[1].split('===')[0].strip()
d['fulloutput_file']=filename
continue
if not l.startswith('['):
if not z.startswith('['):
continue#ignore column headers
f=l.split()
f=z.split()
if f[0]=='[---]' and '=' in f[1]:
for valfield in f[1:]:
n,vstr=valfield.split('=',1)
......@@ -226,15 +233,17 @@ def __actual_parse(filehandle):
d['special']['snapshots'][comp]={'n':n,'cpu':float(f[0]),'wall':float(f[1]),
'vmem':float(f[2]),'malloc':float(f[3])}
else:
if not step in d['steps_comps'].keys():
if step not in d['steps_comps'].keys():
d['steps_comps'][step]={}
d['steps_totals'][step]={}
stepcount[step]=0
iorder=stepcount[step]
stepcount[step]+=1
#workaround situation where two collapsed or total lines have same form (nentries is always different):
if is_collapsed and comp in d['steps_comps'][step].keys(): comp+=':n=%i'%n
if is_total and comp in d['steps_totals'][step].keys(): comp+=':n=%i'%n
if is_collapsed and comp in d['steps_comps'][step].keys():
comp+=':n=%i'%n
if is_total and comp in d['steps_totals'][step].keys():
comp+=':n=%i'%n
if len(f)==6:
#has max@evt info
d['steps_comps'][step][comp]={'order':iorder,'n':n,'cpu':float(f[0]),'vmem':float(f[2]),'malloc':float(f[4])}
......@@ -242,8 +251,10 @@ def __actual_parse(filehandle):
else:
#doesn't have max@evt info (step!='evt' or 'evt' but collapsed or total)
nfo={'order':iorder,'n':n,'cpu':float(f[0]),'vmem':float(f[1]),'malloc':float(f[2])}
if is_total: d['steps_totals'][step][comp]=nfo
else: d['steps_comps'][step][comp]=nfo
if is_total:
d['steps_totals'][step][comp]=nfo
else:
d['steps_comps'][step][comp]=nfo
force_share(output)#make sure we register shared strings
return output
......@@ -251,14 +262,18 @@ def __deparse_single(d):
_prefix=_appname+' '
out=[]
assert type(d)==dict
def header(l,s,center=True):
if center: s=(' %s '%s).center(82,'=')
else: s=(' %s '%s).ljust(82,'=')
l+=[ _prefix+'==='+s+'===']
def header(z,s,center=True):
if center:
s=(' %s '%s).center(82,'=')
else:
s=(' %s '%s).ljust(82,'=')
z+=[ _prefix+'==='+s+'===']
full_info=d['full_info']
if full_info: fullstr='f'
else: fullstr='c'
if full_info:
fullstr='f'
else:
fullstr='c'
header(out,'semi-detailed perfmon info v%i.%i%s / start'%(d['version'][0],d['version'][1],fullstr))
header(out,'Documentation: https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PerfMonSD',center=False)
header(out,'Note that documentation includes recipe for easy parsing from python. ',center=False)
......@@ -268,7 +283,7 @@ def __deparse_single(d):
stdsteps=['ini','1st','cbk','evt','fin']
steps=[]
for step in d['steps_comps'].keys():
if not step in stdsteps and not step in steps:
if step not in stdsteps and step not in steps:
steps+=[step]
steps.sort()
steps=stdsteps+steps
......@@ -284,20 +299,25 @@ def __deparse_single(d):
is_evt=step=='evt'
header(out,'step %s'%step)
entries=[]
if not step in d['steps_comps'].keys(): continue
if step not in d['steps_comps'].keys():
continue
for comp,compdata in d['steps_comps'][step].items():
if '_comps]:n=' in comp: comp=comp.split('_comps]:n=')[0]+'_comps]'
if '_comps]:n=' in comp:
comp=comp.split('_comps]:n=')[0]+'_comps]'
if is_evt and comp in d['evt_max_info'].keys():
s=format_evt_withmax%(compdata['n'],compdata['cpu'],format_max(d['evt_max_info'][comp]['cpu']),
compdata['vmem'],format_max(d['evt_max_info'][comp]['vmem']),
compdata['malloc'],format_max(d['evt_max_info'][comp]['malloc']),comp)
else:
if is_evt: format=format_evt_nomax
else: format=format_notevt
if is_evt:
format=format_evt_nomax
else:
format=format_notevt
s=format%(compdata['n'],compdata['cpu'],compdata['vmem'],compdata['malloc'],comp)
entries+=[(compdata['order'],comp,s)]
for comp,compdata in d['steps_totals'][step].items():
if '_comps]:n=' in comp: comp=comp.split('_comps]:n=')[0]+'_comps]'
if '_comps]:n=' in comp:
comp=comp.split('_comps]:n=')[0]+'_comps]'
format='%4i %6i %7i %7i %s'
if is_evt:
format='%4i %6i %7i %7i %s'
......@@ -305,8 +325,10 @@ def __deparse_single(d):
entries+=[(compdata['order'],comp,s)]
if entries:
entries.sort()
if is_evt: out+=[ _prefix+' '*len(step)+colheader_evt]
else: out+=[ _prefix+' '*len(step)+colheader_std]
if is_evt:
out+=[ _prefix+' '*len(step)+colheader_evt]
else:
out+=[ _prefix+' '*len(step)+colheader_std]
for _,_,s in entries:
out+=[ '%s[%s] %s'%(_prefix,step,s)]
header(out,'special info')
......@@ -323,8 +345,6 @@ def __deparse_single(d):
for leak in leaks:
dl=d['special']['leaks'][leak]
out+=[ '%s[---] %4i - - %8i %8i %s'%(_prefix,dl['n'],dl['vmem'],dl['malloc'],leak)]
specialvals=d['special']['values'].keys()
svs=[]
order=[['vmem_peak','vmem_mean','rss_mean'],
['jobcfg_walltime','jobstart'],
['cpu_bmips','cpu_res','release'],
......@@ -335,8 +355,10 @@ def __deparse_single(d):
lineformat=[]
for sv in lineorder:
v=d['special']['values'][sv]
if type(v)==float: v_str='%i'%v
else: v_str=v
if type(v)==float:
v_str='%i'%v
else:
v_str=v
lineformat+=['%s=%s'%(sv,v_str)]
out+=['%s[---] %s'%(_prefix,' '.join(lineformat))]
header(out,'semi-detailed perfmon info / end')
......@@ -352,17 +374,18 @@ def _validate_deparsing(f):
fh=gzip_fastopen(f)
else:
fh=open(f)
for l in fh:
if l.startswith(_prefix):
if l.startswith(_prefix+'WARNING'):
for z in fh:
if z.startswith(_prefix):
if z.startswith(_prefix+'WARNING'):
continue
if l.endswith('\n'): l=l[0:-1]
lines+=[l]
if z.endswith('\n'):
z=z[0:-1]
lines+=[z]
if len(lines)==0:
print("File does not have %s lines!"%_appname)
return False
d=__smart_parse(lines)
if d==None:
if d is None:
return False
lines2=deparse(d)
if len(lines)!=len(lines2):
......@@ -388,7 +411,8 @@ def _validate_deparsing(f):
def __actual_diff(infile1,infile2):
d1=__smart_parse(infile1)
d2=__smart_parse(infile2)
if d1==None or d2==None: return False
if d1 is None or d2 is None:
return False
#Gymnastics to accept separate types:
if type(d1)==list and type(d2)==list:
if len(d1)!=len(d2):
......@@ -422,13 +446,15 @@ def __actual_diff(infile1,infile2):
anycollapsed=False
for comp,data in compdata.items():
n=data['n']
if not n in nentries2ncomps.keys(): nentries2ncomps[n]=0
if n not in nentries2ncomps.keys():
nentries2ncomps[n]=0
if comp.startswith('[collapsed_'):
anycollapsed=True
nc=int(comp.split('_')[1])
#nc=int(comp.split('_')[1])
else:
nc=1
nentries2ncomps[n]+=1
pass
#nc=1
nentries2ncomps[n]+=1 # check if this should be +=nc
return nentries2ncomps,anycollapsed
......@@ -455,7 +481,7 @@ def __actual_diff(infile1,infile2):
if not anycollapsed1 and not anycollapsed2:
#awesome, we can check all comps completely before vs. after
for comp,compdata in d1['steps_comps'][step].items():
if not comp in d2['steps_comps'][step].keys():
if comp not in d2['steps_comps'][step].keys():
print("Difference: Component %s only present in one input in step %s"%(comp,step))
return False
check+=[(comp,compdata,d2['steps_comps'][step][comp])]
......@@ -477,14 +503,17 @@ def __get_shared_string(s):
global __allstrings
return __allstrings.setdefault(s,s)
def __fs_list(l):
i=len(l)
def __fs_list(z):
i=len(z)
while i:
i-=1
t=type(l[i])
if t==str: l[i]=__get_shared_string(l[i])
elif t==list: __fs_list(l[i])
elif t==dict: __fs_dict(l[i])
t=type(z[i])
if t==str:
z[i]=__get_shared_string(z[i])
elif t==list:
__fs_list(z[i])
elif t==dict:
__fs_dict(z[i])
def __fs_dict(d):
keys=d.keys()
......@@ -492,7 +521,10 @@ def __fs_dict(d):
o=d[k]
del d[k]
t=type(o)
if t==str: o=__get_shared_string(o)
elif t==list: __fs_list(o)
elif t==dict: __fs_dict(o)
if t==str:
o=__get_shared_string(o)
elif t==list:
__fs_list(o)
elif t==dict:
__fs_dict(o)
d[__get_shared_string(k)]=o
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# @file: PerfMonFlags.py
# @purpose: a container of flags for Performance Monitoring
......@@ -58,8 +58,6 @@ class doPersistencyMonitoring(JobProperty):
if not jobproperties.PerfMonFlags.doMonitoring():
jobproperties.PerfMonFlags.doMonitoring = True
pass
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
#svcMgr.PerfMonSvc.MonLvl = -1
return
#
class doDetailedMonitoring(JobProperty):
......@@ -105,8 +103,6 @@ class doFullMon(JobProperty):
jobproperties.PerfMonFlags.doFastMon = False
jobproperties.PerfMonFlags.doMonitoring = True
# setup values
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
#svcMgr.PerfMonSvc.MonLvl = -1
# enable DSO monitoring
jobproperties.PerfMonFlags.doDsoMonitoring = True
# activate persistency monitoring too
......@@ -410,7 +406,7 @@ def _decode_pmon_opts(opts):
elif opt.startswith('+'):
val = True
flag_name = flag_name[1:]
if not flag_name in dispatch:
if flag_name not in dispatch:
raise ValueError(
'[%s] is not a valid PerfMonFlag (allowed: %r)' %
(flag_name, dispatch.keys())
......
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# @file PerfMonComps/python/PerfMonSerializer
from __future__ import with_statement, print_function
__version__ = "$Revision: 524466 $"
__doc__ = "various utils to encode/decode perfmon (meta)data with base64"
__author__ = "Sebastien Binet, Thomas Kittlemann"
......@@ -161,23 +159,22 @@ def iextract_pmon_data(fname):
else:
raise ValueError("expect a xyz.pmon.gz or xyz.stream file (got [%s])"%(fname,))
from collections import defaultdict
import numpy as np
out = _init_pmon_data()
with open(stream_fname, 'r') as f:
for l in f:
for z in f:
data, step, idx, comp = (None, ) * 4
if l.startswith('#'):
if z.startswith('#'):
continue
#print("[%s]" % l.strip())
# handle things like:
# /io/std::vector<unsigned int>#L1CaloUnpackingErrors ...
# /io/std::map<std::string,std::vector<int> >#mapdata ...
l = l.replace('unsigned int', 'unsigned-int')\
z = z.replace('unsigned int', 'unsigned-int')\
.replace('> >', '>->')
fields = l.split()
fields = z.split()
#print("##",repr(l))
if fields[0].startswith(('/ini/','/evt/','/fin/',
'/cbk/','/usr/',
......@@ -345,7 +342,7 @@ def iextract_pmon_data(fname):
pass
else:
print("warning: unhandled field [%s]" % (fields[0],))
print(repr(l))
print(repr(z))
# yields what we got so far
yield step, idx, comp, out
......@@ -391,7 +388,8 @@ def encode(data, use_base64=True):
def decode(s):
"""decode a (compressed) string into a python object
"""
if not s: return None
if not s:
return None
import zlib
import cPickle as pickle
if s[0]=='B':
......@@ -399,7 +397,6 @@ def decode(s):
s=base64.b64decode(s[1:])
else:
s=s[1:]
d=pickle.loads(zlib.decompress(s))
return pickle.loads(zlib.decompress(s))
def build_callgraph(fname):
......@@ -417,9 +414,7 @@ def build_callgraph(fname):
current_step = 'ini'
local_ctx = None
out = None
for step, idx, comp, table in iextract_pmon_data(fname):
out = table
if idx is None:
if comp == 'PerfMonSliceIo':
# ignore this component for now...
......@@ -493,7 +488,7 @@ def build_callgraph(fname):
# push the stack of contexes
parent_ctx = local_ctx
local_ctx = GraphNode(comp, parent=parent_ctx)
if not step in graph.keys():
if step not in graph.keys():
local_ctx.ctype = step
parent_ctx.children.append(local_ctx)
elif idx == 1:
......
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# @file: PerfMonComps/python/PyComps.py
# @purpose: a set of python components to perform performance monitoring
# @author: Sebastien Binet <binet@cern.ch>
from __future__ import print_function
__doc__ = 'a set of python components to perform performance monitoring'
__version__ = '$Revision: 298807 $'
__author__ = 'Sebastien Binet <binet@cern.ch>'
import AthenaCommon.SystemOfUnits as Units
import AthenaPython.PyAthena as PyAthena
from AthenaPython.PyAthena import StatusCode
......@@ -105,8 +103,8 @@ class PyStorePayloadMon (PyAthena.Svc):
tp_name = clid2name(p.clID())
print(fmt, (mem_0, mem_1, mem_0 - mem_1, tp_name, p.name()), file=fd)
pass
mem_store_0 = long(mem_store_0)
mem_store_1 = long(mem_store_1)
mem_store_0 = int(mem_store_0)
mem_store_1 = int(mem_store_1)
print(fmt, (
mem_store_0, mem_store_1, mem_store_0 - mem_store_1,
......@@ -133,7 +131,7 @@ class PyStorePayloadMon (PyAthena.Svc):
## mem_0, mem_1, mem_1 - mem_0, ncalls_0, ncalls_1,
## p.clID(), p.name()
## ))
return (p, long(mem_0), long(mem_1))
return (p, int(mem_0), int(mem_1))
def finalize(self):
self.msg.info('==> finalize...')
......
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# @file: PyMonUtils.py
# @author: Sebastien Binet <binet@cern.ch>
from __future__ import print_function
__author__ = "Sebastien Binet <binet@cern.ch>"
__version__ = "$Revision: 1.3 $"
......@@ -44,7 +43,7 @@ def mon_push_back (sgname='StoreGateSvc'):
# no double counting from symlinks
# FIXME: it is actually valid to have 2 different collections
# (=/= CLIDs) with the same key...
if wasted.has_key(k):
if k in wasted:
continue
clid = dp.clID()
klass = "%s" % cl.typename(clid)
......@@ -81,18 +80,22 @@ def mon_push_back (sgname='StoreGateSvc'):
def dump_smaps (fname=None):
import os,sys
if not (fname is None): o = open (fname, 'w')
else: o = sys.stdout
for l in open('/proc/%d/smaps'%os.getpid()):
print(l, file=o)
if not (fname is None):
o = open (fname, 'w')
else:
o = sys.stdout
for z in open('/proc/%d/smaps'%os.getpid()):
print(z, file=o)
if not (fname is None):
o.close()
return
def loaded_libs (fname=None, pid=None, show=False):
import os,sys,re
if not (fname is None): o = open (fname, 'w')
else: o = sys.stdout
if not (fname is None):
o = open (fname, 'w')
else:
o = sys.stdout
pat = re.compile(r'(?P<addr_beg>\w*?)\-(?P<addr_end>\w*?)\s'\
r'(?P<perm>.{4})\s(?P<offset>\w*?)\s'\
r'(?P<devmajor>\d{2}):(?P<devminor>\d{2})\s'\
......@@ -102,13 +105,13 @@ def loaded_libs (fname=None, pid=None, show=False):
if pid is None:
pid = os.getpid()
for line in open('/proc/%s/smaps'%pid):
l = line.strip()
res = re.match(pat,l)
z = line.strip()
res = re.match(pat,z)
if res:
g = res.group
libname = g('libname').strip()
libs.add(_realpath(libname))
libs = sorted([l for l in libs], reverse=True)
libs = sorted([z for z in libs], reverse=True)
if show:
for libname in libs:
print(libname, file=o)
......@@ -117,8 +120,6 @@ def loaded_libs (fname=None, pid=None, show=False):
import sys
if sys.platform == 'darwin':
def pymon():
from os import getpid,sysconf
from sys import platform
from resource import getrusage, RUSAGE_SELF
cpu = getrusage(RUSAGE_SELF)
cpu = (cpu.ru_utime+cpu.ru_stime) * 1e3 # in milliseconds
......@@ -138,7 +139,6 @@ if sys.platform == 'darwin':
else:
def pymon():
from os import getpid,sysconf
from sys import platform
from resource import getrusage, RUSAGE_SELF
cpu = getrusage(RUSAGE_SELF)
cpu = (cpu.ru_utime+cpu.ru_stime) * 1e3 # in milliseconds
......@@ -152,13 +152,17 @@ else:
def lshosts_infos():
import socket,commands
hostname = '<unknown>'
try: hostname = socket.gethostname()
except Exception: pass
try:
hostname = socket.gethostname()
except Exception:
pass
sc,out = commands.getstatusoutput('which lshosts')
if sc != 0: return ('no lshosts command',0.) # no lshosts could be found
if sc != 0:
return ('no lshosts command',0.) # no lshosts could be found
cmd = out
sc,out = commands.getstatusoutput("%s %s"%(cmd,hostname))
if sc != 0: return ('host not in db', 0.)
if sc != 0:
return ('host not in db', 0.)
cpu_infos = {}
try:
title,data = out.splitlines()
......
......@@ -2,7 +2,6 @@
# @file: PyPerfMon.py
# @author: Sebastien Binet <binet@cern.ch>
from __future__ import with_statement
__author__ = "Sebastien Binet <binet@cern.ch>"
__version__ = "$Revision: 1.51 $"
......@@ -10,17 +9,12 @@ __doc__ = """python module holding a python service to monitor athena perfor
"""
import os,sys
from time import time
import resource
from resource import getrusage as resource_getrusage
import string
import array
import AthenaCommon.Logging as L
_perfMonStates = ('ini','evt','fin')
from PerfMonComps.PyMonUtils import *
from PerfMonComps.PyMonUtils import Units, pymon
from PyUtils.Decorators import memoize, forking
......@@ -54,7 +48,6 @@ class Svc(object):
instances = {}
def __init__(self, name, properties = None):
import AthenaCommon.Logging as L
## init base class
super(Svc,self).__init__()
self.name = name
......@@ -94,9 +87,12 @@ class Svc(object):
cfg_module = 'PerfMonComps'
elif c in cfgs:
cfg = cfgs[c]
if isinstance(cfg, ConfigurableAlgorithm): cfg_type = 'alg'
elif isinstance(cfg, ConfigurableAlgTool): cfg_type = 'algtool'
elif isinstance(cfg, ConfigurableService): cfg_type = 'svc'
if isinstance(cfg, ConfigurableAlgorithm):
cfg_type = 'alg'
elif isinstance(cfg, ConfigurableAlgTool):
cfg_type = 'algtool'
elif isinstance(cfg, ConfigurableService):
cfg_type = 'svc'
cfg_class = cfg.__class__.__name__
cfg_module = cfg.__class__.__module__
else:
......@@ -139,7 +135,7 @@ class Svc(object):
## perfmon domains
try:
import DomainsRegistry as pdr
import PerfMonComps.DomainsRegistry as pdr
self.meta['domains_a2d'] = pdr.a2d_db()
except Exception:
_msg.info('problem retrieving domains-registry...')
......@@ -159,7 +155,9 @@ class Svc(object):
'rt': (0.,0.),
}
import gc; gc.collect(); del gc
import gc
gc.collect()
del gc
return
def domains_db(self):
......@@ -170,7 +168,6 @@ class Svc(object):
@property
def msg(self):
import AthenaCommon.Logging as L
return L.logging.getLogger(self.name)
def _set_stats(self, name,
......@@ -227,7 +224,7 @@ class Svc(object):
self._do_malloc_mon = False
_msg.info('installing pmon-malloc hooks: %s', self._do_malloc_mon)
import AthenaPython.PyAthena as PyAthena
lib = PyAthena.load_library('PerfMonEventDict')
PyAthena.load_library('PerfMonEventDict')
memstats = PyAthena.PerfMon.MemStats
memstats.enable(bool(self._do_malloc_mon))
_msg.info('pmon-malloc hooks enabled: %s', bool(memstats.enabled()))
......@@ -308,10 +305,10 @@ class Svc(object):
statm = {}
from sys import platform
if platform != 'darwin' :
for l in open('/proc/self/status', 'r'):
for z in open('/proc/self/status', 'r'):
# lines are of the form:
# VmPeak: some value
ll = list(map(str.strip, l.split(':')))
ll = list(map(str.strip, z.split(':')))
k = ll[0]
v = ' '.join(ll[1:])
statm[k] = v
......@@ -343,9 +340,9 @@ class Svc(object):
for evtstr,fitn,fitted_slope in self._slope_data['fits']:
maxfitn=max(maxfitn,fitn)
for evtstr,fitn,fitted_slope in self._slope_data['fits']:
_msg.info( ' evt %s fitted vmem-slope (%s points): %s'%
(evtstr,str(fitn).rjust(len(str(maxfitn))),
'%7.1f kb/evt'%fitted_slope if fitn>=2 else 'N/A') )
_msg.info( ' evt %s fitted vmem-slope (%s points): %s',
evtstr,str(fitn).rjust(len(str(maxfitn))),
'%7.1f kb/evt'%fitted_slope if fitn>=2 else 'N/A' )
summary['job']['vmem_slope'] = self._slope_data
else:
_msg.info('vmem-leak estimation: [N/A]')
......@@ -353,8 +350,10 @@ class Svc(object):
## try to recoup some memory by flushing out ROOT stuff...
headerFile = os.path.splitext(self.outFileName)[0]+".dat"
if os.path.exists(headerFile): os.remove(headerFile)
if os.path.exists(self.outFileName): os.remove(self.outFileName)
if os.path.exists(headerFile):
os.remove(headerFile)
if os.path.exists(self.outFileName):
os.remove(self.outFileName)
## build the callgraph...
#import PerfMonComps.PerfMonSerializer as pmon_ser
......@@ -431,12 +430,15 @@ class Svc(object):
## write out meta-data
import PyUtils.dbsqlite as dbs
meta = dbs.open(headerFile, 'n')
for k,v in six.iteritems (self.meta): meta[k] = v
for k,v in six.iteritems (self.meta):
meta[k] = v
meta['version_id'] = '0.4.0' # stream-format + header file
meta['pmon_tuple_files'] = map( os.path.basename, outFiles[1:] )
import socket
try: meta['hostname'] = socket.gethostname()
except Exception: meta['hostname'] = '<unknown>'
try:
meta['hostname'] = socket.gethostname()
except Exception:
meta['hostname'] = '<unknown>'
meta.close()
......@@ -447,8 +449,10 @@ class Svc(object):
try:
for outFile in outFiles:
outFileDirName = os.path.dirname(outFile)
try: os.chdir(outFileDirName)
except OSError as err: pass
try:
os.chdir(outFileDirName)
except OSError:
pass
outFile = os.path.basename(outFile)
_msg.info(' --> [%s] => %8.3f kb',
outFile,
......@@ -517,10 +521,12 @@ class PoolMonTool(object):
from AthenaCommon import CfgMgr
from AthenaCommon.Configurable import Configurable
for c in list(Configurable.allConfigurables.values()):
if not isinstance(c, CfgMgr.AthenaOutputStream): continue
if not isinstance(c, CfgMgr.AthenaOutputStream):
continue
try:
outFile = c.properties()["OutputFile"]
except KeyError: continue
except KeyError:
continue
if outFile.startswith("ROOTTREE:"):
outFile = outFile[len("ROOTTREE:"):]
outFiles.add( outFile )
......@@ -530,7 +536,6 @@ class PoolMonTool(object):
@property
def msg(self):
import AthenaCommon.Logging as L
return L.logging.getLogger(self.name)
def initialize(self):
......@@ -620,7 +625,8 @@ class PoolMonTool(object):
self.msg.info( "Could not run checkFile on [%s] !!",
inFileName )
self.msg.info( "Reason: %s", err )
if 'inFile' in dir(): del inFile
if 'inFile' in dir():
del inFile
_msg.unMute()
if len(self.outputPoolFiles)>0:
self.msg.info( "Content of output POOL files:" )
......@@ -651,7 +657,8 @@ class PoolMonTool(object):
self.msg.info( "Could not run checkFile on [%s] !!",
outFileName )
self.msg.info( "Reason: %s", err )
if 'outFile' in dir(): del outFile
if 'outFile' in dir():
del outFile
_msg.unMute()
return
......@@ -678,13 +685,13 @@ class HephaestusMonTool(object):
# during our finalize.
self._heph_has_checkPoint = False
import sys
if not 'Hephaestus.atexit' in sys.modules.keys():
if 'Hephaestus.atexit' not in sys.modules.keys():
self.msg.warning('Hephaestus was not correctly initialized !')
self.msg.warning('Final report may be inaccurate...')
self.msg.warning('(to fix this, run athena with --leak-check)')
import dl, Hephaestus.MemoryTracker as m
_hephLib = dl.open (m.__file__, dl.RTLD_GLOBAL | dl.RTLD_NOW)
dl.open (m.__file__, dl.RTLD_GLOBAL | dl.RTLD_NOW)
memtrack = m
from os.path import splitext
......@@ -742,7 +749,7 @@ class HephaestusMonTool(object):
# consolidate last events with end-of-job leak report
_clearCheckPoint = self.memtrack.CheckPoints.clearCheckPoint
for _ in xrange(self.lag):
for _ in range(self.lag):
_clearCheckPoint( 0 )
# put the per-evt leaks into a different file
......
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# @file: PerfMonComps/FastMon.py
# @author: Sebastien Binet
# $Id: FastMon.py,v 1.2 2007-12-03 19:07:38 binet Exp $
......
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# @file: PerfMonComps/FullMon.py
# @author: Sebastien Binet
# $Id$
......
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
###############################
# Print what we're doing
###############################
......
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# @file: PerfMonComps/PerfMonSvc_jobOptions.py
# @author: Sebastien Binet
# $Id: PerfMonSvc_jobOptions.py,v 1.3 2007-08-01 20:58:52 binet Exp $
......
......@@ -1311,15 +1311,21 @@ SGImplSvc::removeProxy(DataProxy* proxy, const void* pTrans,
}
// remove all entries from t2p map
this->t2pRemove(pTrans);
SG::DataProxy::CLIDCont_t clids = proxy->transientID();
for (SG::DataProxy::CLIDCont_t::const_iterator i = clids.begin();
i != clids.end();
++i)
// --- only if the proxy actually has an object!
// otherwise, we can trigger I/O.
// besides being useless here, we can get deadlocks if we
// call into the I/O code while holding the SG lock.
if (proxy->isValidObject()) {
this->t2pRemove(pTrans);
SG::DataProxy::CLIDCont_t clids = proxy->transientID();
for (SG::DataProxy::CLIDCont_t::const_iterator i = clids.begin();
i != clids.end();
++i)
{
void* ptr = SG::DataProxy_cast (proxy, *i);
this->t2pRemove(ptr);
}
}
// remove from store
return m_pStore->removeProxy(proxy, forceRemove, true);
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
// $Id: FileMetaData_v1.cxx 683694 2015-07-17 09:03:52Z krasznaa $
......@@ -362,8 +362,6 @@ namespace xAOD {
return true;
}
} // namespace xAOD
/// Helper macro used to print MetaDataType values
#define PRINT_TYPE( TYPE ) \
case xAOD::FileMetaData_v1::TYPE: \
......@@ -404,3 +402,5 @@ std::ostream& operator<< ( std::ostream& out,
return out;
}
} // namespace xAOD
// Dear emacs, this is -*- c++ -*-
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
// $Id: FileMetaData_v1.h 685184 2015-07-23 20:25:43Z cranshaw $
......@@ -106,11 +106,11 @@ namespace xAOD {
}; // class FileMetaData_v1
} // namespace xAOD
/// A convenience print operator for xAOD::FileMetaData_v1::MetaDataType
std::ostream& operator<< ( std::ostream& out,
xAOD::FileMetaData_v1::MetaDataType type );
/// A convenience print operator for xAOD::FileMetaData_v1::MetaDataType
std::ostream& operator<< ( std::ostream& out,
xAOD::FileMetaData_v1::MetaDataType type );
} // namespace xAOD
// Declare a base class for the type:
#include "xAODCore/BaseInfo.h"
......
......@@ -74,7 +74,6 @@ public:
int m_channel_db[4][64];
int m_hv_db[4][64];
int m_ppm_db[16];
int m_crate_db[8];
int m_crate_index[4];
int m_ncrate;
//int m_crate_lookup[2][3][2];
......
......@@ -137,8 +137,8 @@ StatusCode PixelAthErrorMonAlg::fillHistograms( const EventContext& ctx ) const
is_fei4 = false;
}
// flagging/counting categorized errors per module.
bool has_err_cat[ErrorCategory::COUNT][nFEIBL2D] = {false};
int nerrors_cat_rodmod[ErrorCategoryRODMOD::COUNT][nFEIBL2D] = {0};
bool has_err_cat[ErrorCategory::COUNT][nFEIBL2D] = {{false}};
int nerrors_cat_rodmod[ErrorCategoryRODMOD::COUNT][nFEIBL2D] = {{0}};
// count number of words w/ MCC/FE flags per module
unsigned int num_femcc_errwords = 0;
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
#ifndef IInDetTestBLayerTool_H
#define IInDetTestBLayerTool_H
#include "GaudiKernel/EventContext.h"
#include "GaudiKernel/IAlgTool.h"
#include "GaudiKernel/ThreadLocalContext.h"
#include "GaudiKernel/ThreadLocalContext.h" //for Gaudi::Hive::currentContext()
#include "TrkParameters/TrackParameters.h"
#include "TrkEventPrimitives/ResidualPull.h"
#include <vector>
#include <string>
namespace Trk {
class Track;
class IResidualPullCalculator;
class Track;
class IResidualPullCalculator;
class ResidualPull;
}
namespace InDet {
class TrackStateOnBLayerInfo;
}
class EventContext;
namespace InDet {
......