{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:18:49Z","timestamp":1750306729904,"version":"3.41.0"},"reference-count":27,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2014,5,15]],"date-time":"2014-05-15T00:00:00Z","timestamp":1400112000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGOPS Oper. Syst. Rev."],"published-print":{"date-parts":[[2014,5,15]]},"abstract":"<jats:p>For modern software systems, performance analysis can be a challenging task. The software stack can be a complex, multi-layer, multi-component, concurrent, and parallel environment with multiple contexts of execution and multiple sources of performance data. Although much performance data is available, because modern systems incorporate many mature data-collection mechanisms, analysis algorithms suffer from the lack of a unifying programming environment for processing the collected performance data, potentially from multiple sources, in a convenient and script-like manner.<\/jats:p>\n          <jats:p>This paper presents Weir, a streaming language for systems performance analysis. Weir is based on the insight that performanceanalysis algorithms can be naturally expressed as stream-processing pipelines. In Weir, an analysis algorithm is implemented as a graph composed of stages, where each stage operates on a stream of events that represent collected performance measurements. Weir is an imperative streaming language with a syntax designed for the convenient construction of stream pipelines that utilize composable and reusable analysis stages. To demonstrate practical application, this paper presents the authors' experience in using Weir to analyze performance in systems based on the Xen virtualization platform.<\/jats:p>","DOI":"10.1145\/2626401.2626415","type":"journal-article","created":{"date-parts":[[2014,5,20]],"date-time":"2014-05-20T13:47:43Z","timestamp":1400593663000},"page":"65-70","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Weir"],"prefix":"10.1145","volume":"48","author":[{"given":"Anton","family":"Burtsev","sequence":"first","affiliation":[{"name":"University of Utah, Salt Lake City, UT"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nikhil","family":"Mishrikoti","sequence":"additional","affiliation":[{"name":"University of Utah, Salt Lake City, UT"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Eric","family":"Eide","sequence":"additional","affiliation":[{"name":"Cisco Systems, Inc., San Jose, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Robert","family":"Ricci","sequence":"additional","affiliation":[{"name":"Cisco Systems, Inc., San Jose, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2014,5,15]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-003-0095-z"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-004-0147-z"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945462"},{"key":"e_1_2_1_4_1","first-page":"335","volume-title":"OSDI","author":"Belay A.","year":"2012","unstructured":"A. Belay , A. Bittau , A. Mashtizadeh , D. Terei , D. Mazi\u00e8res , and C. Kozyrakis . Dune: safe user-level access to privileged CPU features . In OSDI , pages 335 -- 348 , Oct. 2012 . A. Belay, A. Bittau, A. Mashtizadeh, D. Terei, D. Mazi\u00e8res, and C. Kozyrakis. Dune: safe user-level access to privileged CPU features. In OSDI, pages 335--348, Oct. 2012."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1015706.1015800"},{"key":"e_1_2_1_6_1","volume-title":"Deterministic Systems Analysis. Phd dissertation","author":"Burtsev A.","year":"2013","unstructured":"A. Burtsev . Deterministic Systems Analysis. Phd dissertation , University of Utah , May 2013 . A. Burtsev. Deterministic Systems Analysis. Phd dissertation, University of Utah, May 2013."},{"key":"e_1_2_1_7_1","first-page":"15","volume-title":"USENIX ATC","author":"Cantrill B. M.","year":"2004","unstructured":"B. M. Cantrill , M. W. Shapiro , and A. H. Leventhal . Dynamic instrumentation of production systems . In USENIX ATC , pages 15 -- 28 , June- July 2004 . B. M. Cantrill, M. W. Shapiro, and A. H. Leventhal. Dynamic instrumentation of production systems. In USENIX ATC, pages 15--28, June-July 2004."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462161"},{"key":"e_1_2_1_9_1","volume-title":"HotCloud","author":"Ford B.","year":"2012","unstructured":"B. Ford . Icebergs in the clouds: the other risks of cloud computing . In HotCloud , June 2012 . B. Ford. Icebergs in the clouds: the other risks of cloud computing. In HotCloud, June 2012."},{"key":"e_1_2_1_10_1","volume-title":"Mar.","author":"Gregg B.","year":"2012","unstructured":"B. Gregg . The USE Method: Linux performance checklist , Mar. 2012 . http:\/\/dtrace.org\/blogs\/brendan\/2012\/03\/07\/. B. Gregg. The USE Method: Linux performance checklist, Mar. 2012. http:\/\/dtrace.org\/blogs\/brendan\/2012\/03\/07\/."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-13550-7_15"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1095810.1095818"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1217935.1217964"},{"key":"e_1_2_1_14_1","unstructured":"OProfile July 2013. http:\/\/oprofile.sourceforge.net\/.  OProfile July 2013. http:\/\/oprofile.sourceforge.net\/."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/SASOW.2012.13"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/SBAC-PAD.2012.14"},{"key":"e_1_2_1_17_1","unstructured":"Phoronix Test Suite: An automated open-source testing framework. http:\/\/www.phoronix-test-suite.com\/.  Phoronix Test Suite: An automated open-source testing framework. http:\/\/www.phoronix-test-suite.com\/."},{"key":"e_1_2_1_18_1","first-page":"49","volume-title":"Linux Symp.","volume":"2","author":"Prasad V.","year":"2005","unstructured":"V. Prasad , W. Cohen , F. Ch. Eigler , M. Hunt , J. Keniston , and B. Chen . Locating system problems using dynamic instrumentation . In Linux Symp. , volume 2 , pages 49 -- 64 , July 2005 . V. Prasad, W. Cohen, F. Ch. Eigler, M. Hunt, J. Keniston, and B. Chen. Locating system problems using dynamic instrumentation. In Linux Symp., volume 2, pages 49--64, July 2005."},{"key":"e_1_2_1_19_1","volume-title":"Nov.","author":"Rafkind J.","year":"2011","unstructured":"J. Rafkind . Vembyr - multi-language PEG parser generator written in Python , Nov. 2011 . http:\/\/code.google.com\/p\/vembyr\/. J. Rafkind. Vembyr - multi-language PEG parser generator written in Python, Nov. 2011. http:\/\/code.google.com\/p\/vembyr\/."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462176"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2095050.2095074"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2038916.2038941"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSNW.2012.6264689"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2488222.2488255"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1297027.1297043"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.5555\/647478.727935"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/502034.502057"}],"container-title":["ACM SIGOPS Operating Systems Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2626401.2626415","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2626401.2626415","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T07:19:42Z","timestamp":1750231182000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2626401.2626415"}},"subtitle":["a streaming language for performance analysis"],"short-title":[],"issued":{"date-parts":[[2014,5,15]]},"references-count":27,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2014,5,15]]}},"alternative-id":["10.1145\/2626401.2626415"],"URL":"https:\/\/doi.org\/10.1145\/2626401.2626415","relation":{},"ISSN":["0163-5980"],"issn-type":[{"type":"print","value":"0163-5980"}],"subject":[],"published":{"date-parts":[[2014,5,15]]},"assertion":[{"value":"2014-05-15","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}