{
    "componentChunkName": "component---src-templates-issues-tsx",
    "path": "/issues/37",
    "result": {"data":{"issuesJson":{"id":"ecf058b4-229a-5e4f-90df-b6ed97b82faf","title":"alibaba/arthas: Arthas 是一款线上监控诊断产品，通过全局视角实时查看应用 load、内存、gc、线程的状态信息，并能在不修改应用代码的情况下，对业务问题进行诊断，包括查看方法调用的出入参、异常，监测方法执行耗时，类加载信息等，大大提升线上问题排查效率。","number":37,"bodyHTML":"<div align=\"center\" dir=\"auto\">\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\"><img src=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\" width=\"100%\" height=\"3\" data-animated-image=\"\" data-canonical-src=\"https://cdn.jsdelivr.net/gh/eryajf/tu@main/img/image_20240420_214408.gif\" style=\"max-width: 100%; height: auto; max-height: 3px;\"></a><br><br></p>\n<markdown-accessiblity-table><table role=\"table\">\n<thead>\n<tr>\n<th align=\"right\">Repos</th>\n<th align=\"left\"><a href=\"https://github.com/alibaba/arthas\">alibaba/arthas</a></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td align=\"right\"><strong>Views</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/c8b9f4a46b44326567ee31702a9705873e7b0a4d94ee946bc12fc049c1d12bf2/68747470733a2f2f76696577732e77686174696c656172656e65642e746f6461792f76696577732f6769746875622f616c69626162612f6172746861732e737667\" alt=\"views\" data-canonical-src=\"https://views.whatilearened.today/views/github/alibaba/arthas.svg\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>Stars</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/66508f4b77ab78aeef226ed7ed9df225b3281e93e7dff48c418d460d742739c4/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f616c69626162612f6172746861733f636f6c6f723d663266303864266c6f676f3d556e64657274616c65266c6f676f436f6c6f723d656234363330\" alt=\"stars\" data-canonical-src=\"https://img.shields.io/github/stars/alibaba/arthas?color=f2f08d&amp;logo=Undertale&amp;logoColor=eb4630\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>Forks</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/8800490919600d091107e6c8c6f5dd4f557fa38abd961f5f2b5f7bc8cb7706fa/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f616c69626162612f6172746861733f636f6c6f723d626138366562266c6f676f3d48616e647368616b65266c6f676f436f6c6f723d656136616136\" alt=\"forks\" data-canonical-src=\"https://img.shields.io/github/forks/alibaba/arthas?color=ba86eb&amp;logo=Handshake&amp;logoColor=ea6aa6\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>License</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/998fad0742584193417258a47e5593befb1c68ee4c791e38eac4c68eccfe2382/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f616c69626162612f6172746861733f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e53556845556741414144414141414177434159414141425841766d48414141414358424957584d41414173544141414c457745416d70775941414144336b6c45515652346e4f335953557a5555426748384a726f57567255474a66456d3773584e63534446784d544c327069347348456778654e526f77586770455742445552522532424e414e4f4b4f4b36366f6f4b4a4742586545475263574163455646475152484677516d483525324630774861655748493944554455354c356b6e6568644f62377a66652532423139636e434a47495243516945596c514237594a4979474c38616f73756c565a36695246516a69474b6b7564576735614c6c704f70704e586e665071773555304459524a6d56786a4367464633424c755a476d416f5655694b4541726d583744375553677351706f72674761336748664b34483663754262435644334771683141352532424c6745253242467749656e514d306a6f446f66714c6f48564e7742796d384370546e416d327a51713073676478624964515a556c416b7150415a3664676a303541446f59526f6f66792532466f5869726f376b3551586a4c6f70677a4b69514e6c4c4461716f4967754577426a7a7150355066446a45394479495879493633464d547751464d43567271774e61763451666f52673538514625324266724d485172454b3844546f434d714e4179574e4866786d54526f4c4f726d5352566747744466714345715a4f4851727a6f34706243557341333431365169364551394b476a6345465267484f724f4b6e5536574162396247455459656b4b7843766a546167394534706a653534446b3551503862624d4859762532464333756541654a6b50304f4778422532424a70426e4172595238455951516e6f4e31414e4661426e5050356c385372736559514c303641646b30464a5938484f5761424d6c6541486a683068506f73497a6c6f3876304125324633345a694f6548726130714b52504d5653493774762532423932747725324676687855654252713456454c674d376642714b354770526d6f514c584e7075625475367a6f4e52706754386e5051627138347764253246494375767978694b4871694e41664933774d367549684271476b4c696977414f734b44714f68743749747239567938536a52424557667941627225324668523142667056514664484a42253246423268683778376a36517077435665655951326b72554235436c636a3641326d3067576a25324244306d4c34397a573563517943484c4e37726a6c6d6d6174457958582532464372547a412532466f51785a6b576c39474a5443566f25324279546a3837253242346769504b6376307149486f344156344430565a727251493334706e70524d36357875652532467a417265453425324654253246536f676c664542794d7369517441546c4c3352414a355948725378365a44665337307337754d486842705225324659423573305057366f455270316236253246667252684b3353444c35546965364f515548516c5133735644752532427a50636b397657453973747225324236496a533967486d5750616861444a25324277434b364e494242587348423948796b587378774470686c436d416476706c6162554a4e6e5a504239342532464e7436784f6538587a4562503257684d335741673147756236744825324233513150673337365239713475716c6e6f36676448476a444f5139306562303141484d3672596975554a314f713472344656756a35765239427a4d3957674e764f7977446869495951467667626366774166774d764863615067425041253246447948476a50624e394138616d6562636477416444354e6633373574787165774e5552656f797677424958594c645170576c6877465771745061435044334173467541535636717171496c62304a766b564331464c39576b4c55556c55574b337a585a4c46432532423125324642726f46746f364f7358497545594a5034447a7a5732594656316f4a614141414141456c46546b5375516d4343\" alt=\"license\" data-canonical-src=\"https://img.shields.io/github/license/alibaba/arthas?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAD3klEQVR4nO3YSUzUUBgH8JroWVrUGJfEm7sXNcSDFxMTL2pi4sHEgxeNRowXgpEWBDURR%2BNANOKOK66ooKJGBXeEGRcWAcEVFGQRHFwQmH5%2F0wHaeWHI9DUDU5L5knehdOb7zfe%2B19cnCJGIRCQiEYlQB7YJIyGL8aosulVZ6iRFQjiGKkudWg5aLlpOppNXnfPqw5U0DYRJmVxjCgFF3BLuZGmAoVUiKEArmX7D7USgsQporgGa3gHfK4H6cuBbCVD3Gqh1A5%2BLgE%2BFwIenQM0joDofqLoHVNwBym8CpTnAm2zQq0sgdxbIdQZUlAkqPAZ6dgj05ADoYRoofy%2FoXiro7k5QXjLopgzKiQNlLDaqoIguEwBjzqP5PfDjE9DyIXyI63FMTwQFMCVrqwNav4QfoRg58QF%2BfrMHQrEK8DToCMqNAyWNHfxmTRoLOrmSRVgGtDfqCEqZOHQrzo4pbCUsA3416Qi6EQ9KGjcEFRgHOrOKnU6WAb9bGETYekKxCvjTag9E4pje54Dk5QP8bbMHYv%2FC3ueAeJkP0OGxB%2BJpBnArYR8EYQQnoN1ANFaBnPP5l8SrseYQL06Adk0FJY8HOWaBMleAHjh0hPosIzlo8v0A%2F34ZiOeHra0qKRPMVSI7tv%2B92tw%2FvhxUeBRq4VELgM7fBqK5GpRmoQLXNpubTu6zoNRpgT8nPQbq84wd%2FICuvyxiKHqiNAfI3wM6uIhBqGkLiiwAOsKDqOht7Itr9Vy8SjRBEWfyAbr%2FhR1BfpVQFdHJB%2FB2hh7x7j6QpwCVeeYQ2krUB5Clcj6A2m0gWj%2BD0mL49zW5cQyCHLN7rjlmmatEyXX%2FCrTzA%2FoQxZkWl9GJTCVo%2ByTj87%2B4giPKcv0qIHo4AV4D0VZrrQI34pnpRM65xue%2FzAreE4%2FT%2FSoglfEByMsiQtATlL3RAJ5YHrSx6ZDfS70s7uMHhBpR%2FYB5s0PW6oERp1b6%2FfrRhK3SDL5Tie6OQUHQlQ3sVDu%2BzPck9vWE9str%2B6IjS9gHmWPahaDJ%2BwCK6NIBBXsHB9HykXsxwDphlCmAdvplabUJNnZPB94%2FNt6xOe8XzEbP2WhM3WAg1Gub6tH%2B3Q1Pg376R9q4uqlno6gdHGjDOQ90eb01AHM6rYiuUJ1Oq4r4FVuj5vR9BzM9WgNvOywDhiIYQFvgbcfwAfwMvHcaPgBPA%2FDyHGjPbN9A8amebcdwAdD5Nf375txqewNUReoyvwBIXYLdQpWlhwFWqtPaCPD3AsFuASV6qqqIlb0JvkVC1FL9WkLUUlUWK3zXZLFC%2B1%2FBroFto6OsXIuEYJP4DzzW2YFV1oJaAAAAAElFTkSuQmCC\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>UpdatedAt</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/5d816fa270fe17744a2f21bf1fb388b40050cb4c803b0a54a357588237cca381/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f616c69626162612f6172746861733f646973706c61795f74696d657374616d703d636f6d6d6974746572266c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d557064617465644174\" alt=\"last-commit\" data-canonical-src=\"https://img.shields.io/github/last-commit/alibaba/arthas?display_timestamp=committer&amp;logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHUlEQVR4nLVX7U9aVxwm26dlX%2Fdhbx%2B2%2FQnbkvUbrdUAQgJJIfUDNWDTTmOv1FQUFaPJ4kusrV01Jt1sNpctS2u3botZtmxd9tJSFSoqKqIF5bYDFLCovClefstzJ8wXRLDZLznkcO4557n3d3%2FneZ4rEOQZt1WqF%2B8XFr4%2BfOLEe2joY0zwf8ToyZPvjEgkLY%2Bk0mmrXO6dKinxzGk0fjT0x%2BRyr0UqncYczM1rc4tQ%2BIrp2LGXdo4NC4VvWqTS72wqlc%2Br13ORri6KdXdnbOHLlwlzJpRKn6W4%2BK6poOCNnIAfHj%2F%2BwahIZB4vKnqZf0qJpNIql%2Fv8TU0cNl5rbyc3w0QnTp3y2LTaJ7M1NaxDr2fRn1SpPG6Gia21tfE34TcaOay1iMUVOQFbFYqIWSo1W8TiAVanC0evXOEB7Wp14HFb22zE5fqLOC5ERLQWidNaNI4uEcc9i7hcJldHh2NWrQ5gDdbOlpaumIuLb2atAQDPnz0b8NbWcmxVVRJ3HmxpScwwzOJmKDRGe8LlCZDLG9g7TInV1Ql7dbXbV1e3gT0WKirCFomkPyvwXFlZGJOjV6%2BSt64uudDZOU5EUcox%2FMEQDVvt6MbcN27Y3Ayzhv3spaUrB6Z9qrJSO19ezj8p2pLBkJy%2BcCHJxWI5gW5tcfRRz1dU19GfGkou9PZO4smR9jGFwpex4Dy3bvnmKypotbU13VidjqYZhrj49rvMEt%2F%2FYqLz9d00NjW%2Fczgyo9O51zs6aNlo5FDtu0DZgQFhlGXJ0dBADoNhd6uvp6Whoayg7N9LVGH8mD4b%2FHnftUQoNG4vLQ0gixMqlW%2B4qOjtNHDg3r1f6YiRSGxRy7UvqLb9U4qkqnxPONva5lDpHr1%2ByyKRNKWBZy5edMUHB2m5ry%2B%2BEQw%2Bzgf4zo9%2F0ocN3WRzLBw4J%2BJyPWCrqmIgGYtUOsWD4oxZFQoPUjGpVHqI4%2FafkQPC6fZQeeM1%2BvLuIQnjuBWQDDCscrmHP9eoNPAtBqfOnXuaK%2Bh6JEbGrs%2BpvvMmxeIbh863abVPeYySEo9FJHpNMFJY%2BP5cWZkfg7O1tSwYCeSQLTY3E8Q09%2FBVPJUlxQjshT1BscCY02r9UDUBfvCHB66pcfPA3lyAe3ngr3%2F47XDgaJzsly7xwA6NZtlUUPCuAHqaSjUIP%2Bsue8BRWAC%2FNfQ7JZPZ59s0Gj7VtpISz4hQ%2BCpfXGMKhZcvLpUKxfWM8ohvf7p%2FODjHBfcVF8Isk82g1FHykcVFE%2BUZAAX47aE%2FMl4PO50Pnuh0%2Fx4nmcyWPsdwDhBx6CmkLV%2FgFDjYKxOJOFtb0wQyIhL9RyCwK3AOfIGp1YFEBhnMJcLRWEbKdKQoU6ncTZkIEDicAy%2F81dVuEM5RwPfey4xOx0Ik%2FI2NnFki%2BWafOoFIYFcgYZCyxd7eCUjbc4AmF65ft%2FkMhk3o%2B5hc7sMJyqjJEGvYFaQFIr7Y0wPw8BFAY%2B6%2Bvmk3w6zzRuDMmZVRsfh8RtA0uETSD7uCBT6DYQN6iveU0fpkYLjE6qrVrtOxeNKU9THLZJ9kBU2JBsBhV5AivB%2FoKaQNKgPCBwDYaIfZC4adThOqF4WENViLJwVoXobfLBKVw67AOaTsLc65TaVK21vQ4La99eKcYg5vbxsbObzTQ9N7UKDgUO1wDjiDIIBshh5ztg39nQMLSZBH4OzBOUDEQXm206d3fcLgswbXQA4PhcK3nhswU1Bz8wvQ09RHG%2FoYy3ejfwBNmtoYqLA0XgAAAABJRU5ErkJggg%3D%3D&amp;label=UpdatedAt\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>CreatedAt</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/3681c065e9d3b443177fffd5a00cc241eb15a321defc25457e076a7b759f3e1c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f637265617465642d61742f616c69626162612f6172746861733f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d437265617465644174\" alt=\"create-at\" data-canonical-src=\"https://img.shields.io/github/created-at/alibaba/arthas?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHUlEQVR4nLVX7U9aVxwm26dlX%2Fdhbx%2B2%2FQnbkvUbrdUAQgJJIfUDNWDTTmOv1FQUFaPJ4kusrV01Jt1sNpctS2u3botZtmxd9tJSFSoqKqIF5bYDFLCovClefstzJ8wXRLDZLznkcO4557n3d3%2FneZ4rEOQZt1WqF%2B8XFr4%2BfOLEe2joY0zwf8ToyZPvjEgkLY%2Bk0mmrXO6dKinxzGk0fjT0x%2BRyr0UqncYczM1rc4tQ%2BIrp2LGXdo4NC4VvWqTS72wqlc%2Br13ORri6KdXdnbOHLlwlzJpRKn6W4%2BK6poOCNnIAfHj%2F%2BwahIZB4vKnqZf0qJpNIql%2Fv8TU0cNl5rbyc3w0QnTp3y2LTaJ7M1NaxDr2fRn1SpPG6Gia21tfE34TcaOay1iMUVOQFbFYqIWSo1W8TiAVanC0evXOEB7Wp14HFb22zE5fqLOC5ERLQWidNaNI4uEcc9i7hcJldHh2NWrQ5gDdbOlpaumIuLb2atAQDPnz0b8NbWcmxVVRJ3HmxpScwwzOJmKDRGe8LlCZDLG9g7TInV1Ql7dbXbV1e3gT0WKirCFomkPyvwXFlZGJOjV6%2BSt64uudDZOU5EUcox%2FMEQDVvt6MbcN27Y3Ayzhv3spaUrB6Z9qrJSO19ezj8p2pLBkJy%2BcCHJxWI5gW5tcfRRz1dU19GfGkou9PZO4smR9jGFwpex4Dy3bvnmKypotbU13VidjqYZhrj49rvMEt%2F%2FYqLz9d00NjW%2Fczgyo9O51zs6aNlo5FDtu0DZgQFhlGXJ0dBADoNhd6uvp6Whoayg7N9LVGH8mD4b%2FHnftUQoNG4vLQ0gixMqlW%2B4qOjtNHDg3r1f6YiRSGxRy7UvqLb9U4qkqnxPONva5lDpHr1%2ByyKRNKWBZy5edMUHB2m5ry%2B%2BEQw%2Bzgf4zo9%2F0ocN3WRzLBw4J%2BJyPWCrqmIgGYtUOsWD4oxZFQoPUjGpVHqI4%2FafkQPC6fZQeeM1%2BvLuIQnjuBWQDDCscrmHP9eoNPAtBqfOnXuaK%2Bh6JEbGrs%2BpvvMmxeIbh863abVPeYySEo9FJHpNMFJY%2BP5cWZkfg7O1tSwYCeSQLTY3E8Q09%2FBVPJUlxQjshT1BscCY02r9UDUBfvCHB66pcfPA3lyAe3ngr3%2F47XDgaJzsly7xwA6NZtlUUPCuAHqaSjUIP%2Bsue8BRWAC%2FNfQ7JZPZ59s0Gj7VtpISz4hQ%2BCpfXGMKhZcvLpUKxfWM8ohvf7p%2FODjHBfcVF8Isk82g1FHykcVFE%2BUZAAX47aE%2FMl4PO50Pnuh0%2Fx4nmcyWPsdwDhBx6CmkLV%2FgFDjYKxOJOFtb0wQyIhL9RyCwK3AOfIGp1YFEBhnMJcLRWEbKdKQoU6ncTZkIEDicAy%2F81dVuEM5RwPfey4xOx0Ik%2FI2NnFki%2BWafOoFIYFcgYZCyxd7eCUjbc4AmF65ft%2FkMhk3o%2B5hc7sMJyqjJEGvYFaQFIr7Y0wPw8BFAY%2B6%2Bvmk3w6zzRuDMmZVRsfh8RtA0uETSD7uCBT6DYQN6iveU0fpkYLjE6qrVrtOxeNKU9THLZJ9kBU2JBsBhV5AivB%2FoKaQNKgPCBwDYaIfZC4adThOqF4WENViLJwVoXobfLBKVw67AOaTsLc65TaVK21vQ4La99eKcYg5vbxsbObzTQ9N7UKDgUO1wDjiDIIBshh5ztg39nQMLSZBH4OzBOUDEQXm206d3fcLgswbXQA4PhcK3nhswU1Bz8wvQ09RHG%2FoYy3ejfwBNmtoYqLA0XgAAAABJRU5ErkJggg%3D%3D&amp;label=CreatedAt\" style=\"max-width: 100%;\"></a></td>\n</tr>\n</tbody>\n</table></markdown-accessiblity-table>\n<a href=\"https://github.com/opsre/awesome-ops\">\n</a><p dir=\"auto\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/b964a36ea4078c39f603d46a29436371c7541a2f26e0228d7b21b9d9805b43d3/68747470733a2f2f736f6369616c6966792e6769742e63692f6f707372652f617765736f6d652d6f70732f696d6167653f6465736372697074696f6e3d3126666f6e743d42697474657226666f726b733d31266973737565733d31266c616e67756167653d31266c6f676f3d6874747073253341253246253246617661746172732e67697468756275736572636f6e74656e742e636f6d25324675253246313838353638303230266e616d653d31266f776e65723d31267061747465726e3d436972637569742b426f6172642670756c6c733d31267374617267617a6572733d31267468656d653d4c69676874\" alt=\"\" data-canonical-src=\"https://socialify.git.ci/opsre/awesome-ops/image?description=1&amp;font=Bitter&amp;forks=1&amp;issues=1&amp;language=1&amp;logo=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F188568020&amp;name=1&amp;owner=1&amp;pattern=Circuit+Board&amp;pulls=1&amp;stargazers=1&amp;theme=Light\" style=\"max-width: 100%;\"></a></p>\n<a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\"><img src=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\" width=\"100%\" height=\"3\" data-animated-image=\"\" data-canonical-src=\"https://cdn.jsdelivr.net/gh/eryajf/tu@main/img/image_20240420_214408.gif\" style=\"max-width: 100%; height: auto; max-height: 3px;\"></a>\n</div>\n<h2 dir=\"auto\">Arthas</h2>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"site/docs/.vuepress/public/images/arthas.png\"><img src=\"site/docs/.vuepress/public/images/arthas.png\" alt=\"arthas\" style=\"max-width: 100%;\"></a></p>\n<p dir=\"auto\"><a href=\"https://github.com/alibaba/arthas/actions\"><img src=\"https://github.com/alibaba/arthas/workflows/JavaCI/badge.svg\" alt=\"Build Status\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://github.com/alibaba/arthas/releases/latest\"><img src=\"https://camo.githubusercontent.com/5e412ec98094bcf4e0c4f448443e176a569a54385c3307c3b4695aa3133faa8e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f616c69626162612f6172746861732f746f74616c3f6c6162656c3d446f776e6c6f616473\" alt=\"download\" data-canonical-src=\"https://img.shields.io/github/downloads/alibaba/arthas/total?label=Downloads\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://search.maven.org/search?q=g:com.taobao.arthas\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/2e5be6ed601cc8967cd84a8221c2838bdb15fe9bf5e892f689985944aaef8fd5/68747470733a2f2f696d672e736869656c64732e696f2f6d6176656e2d63656e7472616c2f762f636f6d2e74616f62616f2e6172746861732f6172746861732d7061636b6167696e672e737667\" alt=\"maven\" data-canonical-src=\"https://img.shields.io/maven-central/v/com.taobao.arthas/arthas-packaging.svg\" style=\"max-width: 100%;\"></a><br>\n<a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/22d3f75c9a9b66a6588566c90b093dcc516011a4cb5beff834284950a62aa0a7/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f616c69626162612f6172746861732e737667\"><img src=\"https://camo.githubusercontent.com/22d3f75c9a9b66a6588566c90b093dcc516011a4cb5beff834284950a62aa0a7/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f616c69626162612f6172746861732e737667\" alt=\"license\" data-canonical-src=\"https://img.shields.io/github/license/alibaba/arthas.svg\" style=\"max-width: 100%;\"></a><br>\n<a href=\"http://isitmaintained.com/project/alibaba/arthas\" title=\"Average time to resolve an issue\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/31a11745a77f8b64aa2c3c4e92c77c2e995c9ed0f3fa301b85223116843f8586/687474703a2f2f697369746d61696e7461696e65642e636f6d2f62616467652f7265736f6c7574696f6e2f616c69626162612f6172746861732e737667\" alt=\"Average time to resolve an issue\" data-canonical-src=\"http://isitmaintained.com/badge/resolution/alibaba/arthas.svg\" style=\"max-width: 100%;\"></a><br>\n<a href=\"http://isitmaintained.com/project/alibaba/arthas\" title=\"Percentage of issues still open\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/adcf454a5ad7e17766e4180b46ef73924c22d06d48707901ede8c82960d6c0ce/687474703a2f2f697369746d61696e7461696e65642e636f6d2f62616467652f6f70656e2f616c69626162612f6172746861732e737667\" alt=\"Percentage of issues still open\" data-canonical-src=\"http://isitmaintained.com/badge/open/alibaba/arthas.svg\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://opensource.alibaba.com/contribution_leaderboard/details?projectValue=arthas\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/60a58123f4397dafbfadebe274149c30e3cd3c50e9ba5dc95a28c92cb1bc5074/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4172746861732d436865636b253230596f7572253230436f6e747269627574696f6e2d6f72616e6765\" alt=\"Leaderboard\" data-canonical-src=\"https://img.shields.io/badge/Arthas-Check%20Your%20Contribution-orange\" style=\"max-width: 100%;\"></a></p>\n<p dir=\"auto\"><code class=\"notranslate\">Arthas</code> is a Java Diagnostic tool open sourced by Alibaba.</p>\n<p dir=\"auto\">Arthas allows developers to troubleshoot production issues for Java applications without modifying code or restarting servers.</p>\n<p dir=\"auto\"><a href=\"README_CN.md\">中文说明/Chinese Documentation</a></p>\n<h3 dir=\"auto\">Background</h3>\n<p dir=\"auto\">Often times, the production system network is inaccessible from the local development environment. If issues are encountered in production systems, it is impossible to use IDEs to debug the application remotely. More importantly, debugging in production environment is unacceptable, as it will suspend all the threads, resulting in the suspension of business services.</p>\n<p dir=\"auto\">Developers could always try to reproduce the same issue on the test/staging environment. However, this is tricky as some issues cannot be reproduced easily on a different environment, or even disappear once restarted.</p>\n<p dir=\"auto\">And if you're thinking of adding some logs to your code to help troubleshoot the issue, you will have to go through the following lifecycle; test, staging, and then to production. Time is money! This approach is inefficient! Besides, the issue may not be reproducible once the JVM is restarted, as described above.</p>\n<p dir=\"auto\">Arthas was built to solve these issues. A developer can troubleshoot your production issues on-the-fly. No JVM restart, no additional code changes. Arthas works as an observer, which will never suspend your existing threads.</p>\n<h3 dir=\"auto\">Key features</h3>\n<ul dir=\"auto\">\n<li>Check whether a class is loaded, or where the class is being loaded. (Useful for troubleshooting jar file conflicts)</li>\n<li>Decompile a class to ensure the code is running as expected.</li>\n<li>View classloader statistics, e.g. the number of classloaders, the number of classes loaded per classloader, the classloader hierarchy, possible classloader leaks, etc.</li>\n<li>View the method invocation details, e.g. method parameter, return object, thrown exception, and etc.</li>\n<li>Check the stack trace of specified method invocation. This is useful when a developers wants to know the caller of the said method.</li>\n<li>Trace the method invocation to find slow sub-invocations.</li>\n<li>Monitor method invocation statistics, e.g. qps, rt, success rate and etc.</li>\n<li>Monitor system metrics, thread states and cpu usage, gc statistics, and etc.</li>\n<li>Supports command line interactive mode, with auto-complete feature enabled.</li>\n<li>Supports telnet and websocket, which enables both local and remote diagnostics with command line and browsers.</li>\n<li>Supports profiler/Flame Graph</li>\n<li>Support get objects in the heap that are instances of the specified class.</li>\n<li>Supports JDK 6+ (version 4.x no longer supports JDK 6 and JDK 7).</li>\n<li>Supports Linux/Mac/Windows.</li>\n</ul>\n<h3 dir=\"auto\">Online Tutorials(Recommended)</h3>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en\" rel=\"nofollow\">View</a></li>\n</ul>\n<h3 dir=\"auto\">Quick start</h3>\n<h4 dir=\"auto\">Use <code class=\"notranslate\">arthas-boot</code>(Recommended)</h4>\n<p dir=\"auto\">Download<code class=\"notranslate\">arthas-boot.jar</code>，Start with <code class=\"notranslate\">java</code> command:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"curl -O https://arthas.aliyun.com/arthas-boot.jar\njava -jar arthas-boot.jar\"><pre class=\"notranslate\">curl -O https://arthas.aliyun.com/arthas-boot.jar\njava -jar arthas-boot.jar</pre></div>\n<p dir=\"auto\">Print usage:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"java -jar arthas-boot.jar -h\"><pre class=\"notranslate\">java -jar arthas-boot.jar -h</pre></div>\n<h4 dir=\"auto\">Use <code class=\"notranslate\">as.sh</code></h4>\n<p dir=\"auto\">You can install Arthas with one single line command on Linux, Unix, and Mac. Copy the following command and paste it into the command line, then press <em>Enter</em> to run:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"curl -L https://arthas.aliyun.com/install.sh | sh\"><pre class=\"notranslate\">curl -L https://arthas.aliyun.com/install.sh <span class=\"pl-k\">|</span> sh</pre></div>\n<p dir=\"auto\">The command above will download the bootstrap script <code class=\"notranslate\">as.sh</code> to the current directory. You can move it any other place you want, or put its location in <code class=\"notranslate\">$PATH</code>.</p>\n<p dir=\"auto\">You can enter its interactive interface by executing <code class=\"notranslate\">as.sh</code>, or execute <code class=\"notranslate\">as.sh -h</code> for more help information.</p>\n<h3 dir=\"auto\">Documentation</h3>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en\" rel=\"nofollow\">Online Tutorials(Recommended)</a></li>\n<li><a href=\"https://arthas.aliyun.com/doc/en\" rel=\"nofollow\">User manual</a></li>\n<li><a href=\"https://arthas.aliyun.com/doc/en/install-detail.html\" rel=\"nofollow\">Installation</a></li>\n<li><a href=\"https://arthas.aliyun.com/doc/en/download.html\" rel=\"nofollow\">Download</a></li>\n<li><a href=\"https://arthas.aliyun.com/doc/en/quick-start.html\" rel=\"nofollow\">Quick start</a></li>\n<li><a href=\"https://arthas.aliyun.com/doc/en/advanced-use.html\" rel=\"nofollow\">Advanced usage</a></li>\n<li><a href=\"https://arthas.aliyun.com/doc/en/commands.html\" rel=\"nofollow\">Commands</a></li>\n<li><a href=\"https://arthas.aliyun.com/doc/en/web-console.html\" rel=\"nofollow\">WebConsole</a></li>\n<li><a href=\"https://arthas.aliyun.com/doc/en/docker.html\" rel=\"nofollow\">Docker</a></li>\n<li><a href=\"https://arthas.aliyun.com/doc/en/spring-boot-starter.html\" rel=\"nofollow\">Arthas Spring Boot Starter</a></li>\n<li><a href=\"https://github.com/alibaba/arthas/issues?q=label%3Auser-case\">User cases</a></li>\n<li><a href=\"https://arthas.aliyun.com/doc/en/faq\" rel=\"nofollow\">FAQ</a></li>\n<li><a href=\"https://github.com/alibaba/arthas/blob/master/CONTRIBUTING.md\">Compile and debug/How to contribute</a></li>\n<li><a href=\"https://github.com/alibaba/arthas/releases\">Release Notes</a></li>\n</ul>\n<h3 dir=\"auto\">Feature Showcase</h3>\n<h4 dir=\"auto\">Dashboard</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/en/dashboard\" rel=\"nofollow\">https://arthas.aliyun.com/doc/en/dashboard</a></li>\n</ul>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"site/docs/.vuepress/public/images/dashboard.png\"><img src=\"site/docs/.vuepress/public/images/dashboard.png\" alt=\"dashboard\" style=\"max-width: 100%;\"></a></p>\n<h4 dir=\"auto\">Thread</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/en/thread\" rel=\"nofollow\">https://arthas.aliyun.com/doc/en/thread</a></li>\n</ul>\n<p dir=\"auto\">See what is eating your CPU (ranked by top CPU usage) and what is going on there in one glance:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ thread -n 3\n&quot;as-command-execute-daemon&quot; Id=29 cpuUsage=75% RUNNABLE\n    at sun.management.ThreadImpl.dumpThreads0(Native Method)\n    at sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:440)\n    at com.taobao.arthas.core.command.monitor200.ThreadCommand$1.action(ThreadCommand.java:58)\n    at com.taobao.arthas.core.command.handler.AbstractCommandHandler.execute(AbstractCommandHandler.java:238)\n    at com.taobao.arthas.core.command.handler.DefaultCommandHandler.handleCommand(DefaultCommandHandler.java:67)\n    at com.taobao.arthas.core.server.ArthasServer$4.run(ArthasServer.java:276)\n    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)\n    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)\n    at java.lang.Thread.run(Thread.java:745)\n\n    Number of locked synchronizers = 1\n    - java.util.concurrent.ThreadPoolExecutor$Worker@6cd0b6f8\n\n&quot;as-session-expire-daemon&quot; Id=25 cpuUsage=24% TIMED_WAITING\n    at java.lang.Thread.sleep(Native Method)\n    at com.taobao.arthas.core.server.DefaultSessionManager$2.run(DefaultSessionManager.java:85)\n\n&quot;Reference Handler&quot; Id=2 cpuUsage=0% WAITING on java.lang.ref.Reference$Lock@69ba0f27\n    at java.lang.Object.wait(Native Method)\n    -  waiting on java.lang.ref.Reference$Lock@69ba0f27\n    at java.lang.Object.wait(Object.java:503)\n    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)\"><pre class=\"notranslate\">$ thread -n 3\n<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>as-command-execute-daemon<span class=\"pl-pds\">\"</span></span> Id=29 cpuUsage=75% RUNNABLE\n    at sun.management.ThreadImpl.dumpThreads0(Native Method)\n    at sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:440)\n    at com.taobao.arthas.core.command.monitor200.ThreadCommand<span class=\"pl-smi\">$1</span>.action(ThreadCommand.java:58)\n    at com.taobao.arthas.core.command.handler.AbstractCommandHandler.execute(AbstractCommandHandler.java:238)\n    at com.taobao.arthas.core.command.handler.DefaultCommandHandler.handleCommand(DefaultCommandHandler.java:67)\n    at com.taobao.arthas.core.server.ArthasServer<span class=\"pl-smi\">$4</span>.run(ArthasServer.java:276)\n    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)\n    at java.util.concurrent.ThreadPoolExecutor<span class=\"pl-smi\">$Worker</span>.run(ThreadPoolExecutor.java:615)\n    at java.lang.Thread.run(Thread.java:745)\n\n    Number of locked synchronizers = 1\n    - java.util.concurrent.ThreadPoolExecutor<span class=\"pl-smi\">$Worker</span>@6cd0b6f8\n\n<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>as-session-expire-daemon<span class=\"pl-pds\">\"</span></span> Id=25 cpuUsage=24% TIMED_WAITING\n    at java.lang.Thread.sleep(Native Method)\n    at com.taobao.arthas.core.server.DefaultSessionManager<span class=\"pl-smi\">$2</span>.run(DefaultSessionManager.java:85)\n\n<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>Reference Handler<span class=\"pl-pds\">\"</span></span> Id=2 cpuUsage=0% WAITING on java.lang.ref.Reference<span class=\"pl-smi\">$Lock</span>@69ba0f27\n    at java.lang.Object.wait(Native Method)\n    -  waiting on java.lang.ref.Reference<span class=\"pl-smi\">$Lock</span>@69ba0f27\n    at java.lang.Object.wait(Object.java:503)\n    at java.lang.ref.Reference<span class=\"pl-smi\">$ReferenceHandler</span>.run(Reference.java:133)</pre></div>\n<h4 dir=\"auto\">jad</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/en/jad\" rel=\"nofollow\">https://arthas.aliyun.com/doc/en/jad</a></li>\n</ul>\n<p dir=\"auto\">Decompile your class with one shot:</p>\n<div class=\"highlight highlight-source-java notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ jad javax.servlet.Servlet\n\nClassLoader:\n+-java.net.URLClassLoader@6108b2d7\n  +-sun.misc.Launcher$AppClassLoader@18b4aac2\n    +-sun.misc.Launcher$ExtClassLoader@1ddf84b8\n\nLocation:\n/Users/xxx/work/test/lib/servlet-api.jar\n\n/*\n * Decompiled with CFR 0_122.\n */\npackage javax.servlet;\n\nimport java.io.IOException;\nimport javax.servlet.ServletConfig;\nimport javax.servlet.ServletException;\nimport javax.servlet.ServletRequest;\nimport javax.servlet.ServletResponse;\n\npublic interface Servlet {\n    public void init(ServletConfig var1) throws ServletException;\n\n    public ServletConfig getServletConfig();\n\n    public void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;\n\n    public String getServletInfo();\n\n    public void destroy();\n}\"><pre class=\"notranslate\"><span class=\"pl-smi\">$</span> <span class=\"pl-s1\">jad</span> <span class=\"pl-smi\">javax</span>.<span class=\"pl-smi\">servlet</span>.<span class=\"pl-smi\">Servlet</span>\n\n<span class=\"pl-s1\">ClassLoader</span>:\n+-<span class=\"pl-smi\">java</span>.<span class=\"pl-smi\">net</span>.<span class=\"pl-smi\">URLClassLoader</span><span class=\"pl-c1\">@</span><span class=\"pl-c1\">6108</span><span class=\"pl-c1\">b2d7</span>\n  +-<span class=\"pl-smi\">sun</span>.<span class=\"pl-smi\">misc</span>.<span class=\"pl-smi\">Launcher$AppClassLoader</span><span class=\"pl-c1\">@</span><span class=\"pl-c1\">18</span><span class=\"pl-c1\">b4aac2</span>\n    +-<span class=\"pl-smi\">sun</span>.<span class=\"pl-smi\">misc</span>.<span class=\"pl-smi\">Launcher$ExtClassLoader</span><span class=\"pl-c1\">@</span><span class=\"pl-c1\">1d</span><span class=\"pl-c1\">df84b8</span>\n\n<span class=\"pl-s1\">Location</span>:\n/<span class=\"pl-s1\">Users</span>/<span class=\"pl-s1\">xxx</span>/<span class=\"pl-s1\">work</span>/<span class=\"pl-s1\">test</span>/<span class=\"pl-s1\">lib</span>/<span class=\"pl-s1\">servlet</span>-<span class=\"pl-smi\">api</span>.<span class=\"pl-smi\">jar</span>\n\n<span class=\"pl-c\">/*</span>\n<span class=\"pl-c\"> * Decompiled with CFR 0_122.</span>\n<span class=\"pl-c\"> */</span>\n<span class=\"pl-s1\">package</span> <span class=\"pl-s1\">javax</span>.<span class=\"pl-s1\">servlet</span>;\n\n<span class=\"pl-k\">import</span> <span class=\"pl-s1\">java</span>.<span class=\"pl-s1\">io</span>.<span class=\"pl-s1\">IOException</span>;\n<span class=\"pl-k\">import</span> <span class=\"pl-s1\">javax</span>.<span class=\"pl-s1\">servlet</span>.<span class=\"pl-s1\">ServletConfig</span>;\n<span class=\"pl-k\">import</span> <span class=\"pl-s1\">javax</span>.<span class=\"pl-s1\">servlet</span>.<span class=\"pl-s1\">ServletException</span>;\n<span class=\"pl-k\">import</span> <span class=\"pl-s1\">javax</span>.<span class=\"pl-s1\">servlet</span>.<span class=\"pl-s1\">ServletRequest</span>;\n<span class=\"pl-k\">import</span> <span class=\"pl-s1\">javax</span>.<span class=\"pl-s1\">servlet</span>.<span class=\"pl-s1\">ServletResponse</span>;\n\n<span class=\"pl-k\">public</span> <span class=\"pl-k\">interface</span> <span class=\"pl-smi\">Servlet</span> {\n    <span class=\"pl-k\">public</span> <span class=\"pl-smi\">void</span> <span class=\"pl-en\">init</span>(<span class=\"pl-smi\">ServletConfig</span> <span class=\"pl-s1\">var1</span>) <span class=\"pl-k\">throws</span> <span class=\"pl-smi\">ServletException</span>;\n\n    <span class=\"pl-k\">public</span> <span class=\"pl-smi\">ServletConfig</span> <span class=\"pl-en\">getServletConfig</span>();\n\n    <span class=\"pl-k\">public</span> <span class=\"pl-smi\">void</span> <span class=\"pl-en\">service</span>(<span class=\"pl-smi\">ServletRequest</span> <span class=\"pl-s1\">var1</span>, <span class=\"pl-smi\">ServletResponse</span> <span class=\"pl-s1\">var2</span>) <span class=\"pl-k\">throws</span> <span class=\"pl-smi\">ServletException</span>, <span class=\"pl-smi\">IOException</span>;\n\n    <span class=\"pl-k\">public</span> <span class=\"pl-smi\">String</span> <span class=\"pl-en\">getServletInfo</span>();\n\n    <span class=\"pl-k\">public</span> <span class=\"pl-smi\">void</span> <span class=\"pl-en\">destroy</span>();\n}</pre></div>\n<h4 dir=\"auto\">mc</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/en/mc\" rel=\"nofollow\">https://arthas.aliyun.com/doc/en/mc</a></li>\n</ul>\n<p dir=\"auto\">Memory compiler, compiles <code class=\"notranslate\">.java</code> files into <code class=\"notranslate\">.class</code> files in memory.</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ mc /tmp/Test.java\"><pre class=\"notranslate\">$ mc /tmp/Test.java</pre></div>\n<h4 dir=\"auto\">retransform</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/en/retransform\" rel=\"nofollow\">https://arthas.aliyun.com/doc/en/retransform</a></li>\n</ul>\n<p dir=\"auto\">Load the external <code class=\"notranslate\">*.class</code> files to retransform/hotswap the loaded classes in JVM.</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"retransform /tmp/Test.class\nretransform -c 327a647b /tmp/Test.class /tmp/Test\\$Inner.class\"><pre class=\"notranslate\">retransform /tmp/Test.class\nretransform -c 327a647b /tmp/Test.class /tmp/Test<span class=\"pl-cce\">\\$</span>Inner.class</pre></div>\n<h4 dir=\"auto\">sc</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/en/sc\" rel=\"nofollow\">https://arthas.aliyun.com/doc/en/sc</a></li>\n</ul>\n<p dir=\"auto\">Search any loaded class with detailed information.</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ sc -d org.springframework.web.context.support.XmlWebApplicationContext\n class-info        org.springframework.web.context.support.XmlWebApplicationContext\n code-source       /Users/xxx/work/test/WEB-INF/lib/spring-web-3.2.11.RELEASE.jar\n name              org.springframework.web.context.support.XmlWebApplicationContext\n isInterface       false\n isAnnotation      false\n isEnum            false\n isAnonymousClass  false\n isArray           false\n isLocalClass      false\n isMemberClass     false\n isPrimitive       false\n isSynthetic       false\n simple-name       XmlWebApplicationContext\n modifier          public\n annotation\n interfaces\n super-class       +-org.springframework.web.context.support.AbstractRefreshableWebApplicationContext\n                     +-org.springframework.context.support.AbstractRefreshableConfigApplicationContext\n                       +-org.springframework.context.support.AbstractRefreshableApplicationContext\n                         +-org.springframework.context.support.AbstractApplicationContext\n                           +-org.springframework.core.io.DefaultResourceLoader\n                             +-java.lang.Object\n class-loader      +-org.apache.catalina.loader.ParallelWebappClassLoader\n                     +-java.net.URLClassLoader@6108b2d7\n                       +-sun.misc.Launcher$AppClassLoader@18b4aac2\n                         +-sun.misc.Launcher$ExtClassLoader@1ddf84b8\n classLoaderHash   25131501\n\"><pre class=\"notranslate\">$ sc -d org.springframework.web.context.support.XmlWebApplicationContext\n class-info        org.springframework.web.context.support.XmlWebApplicationContext\n code-source       /Users/xxx/work/test/WEB-INF/lib/spring-web-3.2.11.RELEASE.jar\n name              org.springframework.web.context.support.XmlWebApplicationContext\n isInterface       <span class=\"pl-c1\">false</span>\n isAnnotation      <span class=\"pl-c1\">false</span>\n isEnum            <span class=\"pl-c1\">false</span>\n isAnonymousClass  <span class=\"pl-c1\">false</span>\n isArray           <span class=\"pl-c1\">false</span>\n isLocalClass      <span class=\"pl-c1\">false</span>\n isMemberClass     <span class=\"pl-c1\">false</span>\n isPrimitive       <span class=\"pl-c1\">false</span>\n isSynthetic       <span class=\"pl-c1\">false</span>\n simple-name       XmlWebApplicationContext\n modifier          public\n annotation\n interfaces\n super-class       +-org.springframework.web.context.support.AbstractRefreshableWebApplicationContext\n                     +-org.springframework.context.support.AbstractRefreshableConfigApplicationContext\n                       +-org.springframework.context.support.AbstractRefreshableApplicationContext\n                         +-org.springframework.context.support.AbstractApplicationContext\n                           +-org.springframework.core.io.DefaultResourceLoader\n                             +-java.lang.Object\n class-loader      +-org.apache.catalina.loader.ParallelWebappClassLoader\n                     +-java.net.URLClassLoader@6108b2d7\n                       +-sun.misc.Launcher<span class=\"pl-smi\">$AppClassLoader</span>@18b4aac2\n                         +-sun.misc.Launcher<span class=\"pl-smi\">$ExtClassLoader</span>@1ddf84b8\n classLoaderHash   25131501\n</pre></div>\n<h4 dir=\"auto\">vmtool</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/en/vmtool\" rel=\"nofollow\">https://arthas.aliyun.com/doc/en/vmtool</a></li>\n</ul>\n<p dir=\"auto\">Get objects in the heap that are instances of the specified class.</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ vmtool --action getInstances --className java.lang.String --limit 10\n@String[][\n    @String[com/taobao/arthas/core/shell/session/Session],\n    @String[com.taobao.arthas.core.shell.session.Session],\n    @String[com/taobao/arthas/core/shell/session/Session],\n    @String[com/taobao/arthas/core/shell/session/Session],\n    @String[com/taobao/arthas/core/shell/session/Session.class],\n    @String[com/taobao/arthas/core/shell/session/Session.class],\n    @String[com/taobao/arthas/core/shell/session/Session.class],\n    @String[com/],\n    @String[java/util/concurrent/ConcurrentHashMap$ValueIterator],\n    @String[java/util/concurrent/locks/LockSupport],\n]\"><pre class=\"notranslate\">$ vmtool --action getInstances --className java.lang.String --limit 10\n@String[][\n    @String[com/taobao/arthas/core/shell/session/Session],\n    @String[com.taobao.arthas.core.shell.session.Session],\n    @String[com/taobao/arthas/core/shell/session/Session],\n    @String[com/taobao/arthas/core/shell/session/Session],\n    @String[com/taobao/arthas/core/shell/session/Session.class],\n    @String[com/taobao/arthas/core/shell/session/Session.class],\n    @String[com/taobao/arthas/core/shell/session/Session.class],\n    @String[com/],\n    @String[java/util/concurrent/ConcurrentHashMap<span class=\"pl-smi\">$ValueIterator</span>],\n    @String[java/util/concurrent/locks/LockSupport],\n]</pre></div>\n<h4 dir=\"auto\">stack</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/en/stack\" rel=\"nofollow\">https://arthas.aliyun.com/doc/en/stack</a></li>\n</ul>\n<p dir=\"auto\">View the call stack of <code class=\"notranslate\">test.arthas.TestStack#doGet</code>:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ stack test.arthas.TestStack doGet\nPress Ctrl+C to abort.\nAffect(class-cnt:1 , method-cnt:1) cost in 286 ms.\nts=2018-09-18 10:11:45;thread_name=http-bio-8080-exec-10;id=d9;is_daemon=true;priority=5;TCCL=org.apache.catalina.loader.ParallelWebappClassLoader@25131501\n    @test.arthas.TestStack.doGet()\n        at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)\n        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)\n        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)\n        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)\n        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)\n        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)\n        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)\n        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)\n        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)\n        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)\n        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)\n        ...\n        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)\n        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)\n        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)\n        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:451)\n        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1121)\n        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)\n        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)\n        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\n        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\n        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\n        at java.lang.Thread.run(Thread.java:745)\"><pre class=\"notranslate\">$ stack test.arthas.TestStack doGet\nPress Ctrl+C to abort.\nAffect(class-cnt:1 , method-cnt:1) cost <span class=\"pl-k\">in</span> 286 ms.\nts=2018-09-18 10:11:45<span class=\"pl-k\">;</span>thread_name=http-bio-8080-exec-10<span class=\"pl-k\">;</span>id=d9<span class=\"pl-k\">;</span>is_daemon=true<span class=\"pl-k\">;</span>priority=5<span class=\"pl-k\">;</span>TCCL=org.apache.catalina.loader.ParallelWebappClassLoader@25131501\n    <span class=\"pl-en\">@test.arthas.TestStack.doGet</span>()\n        at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)\n        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)\n        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)\n        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)\n        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)\n        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)\n        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)\n        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)\n        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)\n        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)\n        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)\n        ...\n        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)\n        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)\n        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)\n        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:451)\n        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1121)\n        at org.apache.coyote.AbstractProtocol<span class=\"pl-smi\">$AbstractConnectionHandler</span>.process(AbstractProtocol.java:637)\n        at org.apache.tomcat.util.net.JIoEndpoint<span class=\"pl-smi\">$SocketProcessor</span>.run(JIoEndpoint.java:316)\n        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\n        at java.util.concurrent.ThreadPoolExecutor<span class=\"pl-smi\">$Worker</span>.run(ThreadPoolExecutor.java:617)\n        at org.apache.tomcat.util.threads.TaskThread<span class=\"pl-smi\">$WrappingRunnable</span>.run(TaskThread.java:61)\n        at java.lang.Thread.run(Thread.java:745)</pre></div>\n<h4 dir=\"auto\">Trace</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/en/trace\" rel=\"nofollow\">https://arthas.aliyun.com/doc/en/trace</a></li>\n</ul>\n<p dir=\"auto\">See what is slowing down your method invocation with trace command:</p>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"site/docs/.vuepress/public/images/trace.png\"><img src=\"site/docs/.vuepress/public/images/trace.png\" alt=\"trace\" style=\"max-width: 100%;\"></a></p>\n<h4 dir=\"auto\">Watch</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/en/watch\" rel=\"nofollow\">https://arthas.aliyun.com/doc/en/watch</a></li>\n</ul>\n<p dir=\"auto\">Watch the first parameter and thrown exception of <code class=\"notranslate\">test.arthas.TestWatch#doGet</code> only if it throws exception.</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ watch test.arthas.TestWatch doGet {params[0], throwExp} -e\nPress Ctrl+C to abort.\nAffect(class-cnt:1 , method-cnt:1) cost in 65 ms.\nts=2018-09-18 10:26:28;result=@ArrayList[\n    @RequestFacade[org.apache.catalina.connector.RequestFacade@79f922b2],\n    @NullPointerException[java.lang.NullPointerException],\n]\"><pre class=\"notranslate\">$ watch test.arthas.TestWatch doGet {params[0], throwExp} -e\nPress Ctrl+C to abort.\nAffect(class-cnt:1 , method-cnt:1) cost <span class=\"pl-k\">in</span> 65 ms.\nts=2018-09-18 10:26:28<span class=\"pl-k\">;</span>result=@ArrayList[\n    @RequestFacade[org.apache.catalina.connector.RequestFacade@79f922b2],\n    @NullPointerException[java.lang.NullPointerException],\n]</pre></div>\n<h4 dir=\"auto\">Monitor</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/en/monitor\" rel=\"nofollow\">https://arthas.aliyun.com/doc/en/monitor</a></li>\n</ul>\n<p dir=\"auto\">Monitor a specific method invocation statistics, including the total number of invocations, average response time, success rate, and every 5 seconds:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ monitor -c 5 org.apache.dubbo.demo.provider.DemoServiceImpl sayHello\nPress Ctrl+C to abort.\nAffect(class-cnt:1 , method-cnt:1) cost in 109 ms.\n timestamp            class                                           method    total  success  fail  avg-rt(ms)  fail-rate\n----------------------------------------------------------------------------------------------------------------------------\n 2018-09-20 09:45:32  org.apache.dubbo.demo.provider.DemoServiceImpl  sayHello  5      5        0     0.67        0.00%\n\n timestamp            class                                           method    total  success  fail  avg-rt(ms)  fail-rate\n----------------------------------------------------------------------------------------------------------------------------\n 2018-09-20 09:45:37  org.apache.dubbo.demo.provider.DemoServiceImpl  sayHello  5      5        0     1.00        0.00%\n\n timestamp            class                                           method    total  success  fail  avg-rt(ms)  fail-rate\n----------------------------------------------------------------------------------------------------------------------------\n 2018-09-20 09:45:42  org.apache.dubbo.demo.provider.DemoServiceImpl  sayHello  5      5        0     0.43        0.00%\"><pre class=\"notranslate\">$ monitor -c 5 org.apache.dubbo.demo.provider.DemoServiceImpl sayHello\nPress Ctrl+C to abort.\nAffect(class-cnt:1 , method-cnt:1) cost <span class=\"pl-k\">in</span> 109 ms.\n timestamp            class                                           method    total  success  fail  avg-rt(ms)  fail-rate\n----------------------------------------------------------------------------------------------------------------------------\n 2018-09-20 09:45:32  org.apache.dubbo.demo.provider.DemoServiceImpl  sayHello  5      5        0     0.67        0.00%\n\n timestamp            class                                           method    total  success  fail  avg-rt(ms)  fail-rate\n----------------------------------------------------------------------------------------------------------------------------\n 2018-09-20 09:45:37  org.apache.dubbo.demo.provider.DemoServiceImpl  sayHello  5      5        0     1.00        0.00%\n\n timestamp            class                                           method    total  success  fail  avg-rt(ms)  fail-rate\n----------------------------------------------------------------------------------------------------------------------------\n 2018-09-20 09:45:42  org.apache.dubbo.demo.provider.DemoServiceImpl  sayHello  5      5        0     0.43        0.00%</pre></div>\n<h4 dir=\"auto\">Time Tunnel(tt)</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/en/tt\" rel=\"nofollow\">https://arthas.aliyun.com/doc/en/tt</a></li>\n</ul>\n<p dir=\"auto\">Record method invocation data, so that you can check the method invocation parameters, returned value, and thrown exceptions later. It works as if you could come back and replay the past method invocation via time tunnel.</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ tt -t org.apache.dubbo.demo.provider.DemoServiceImpl sayHello\nPress Ctrl+C to abort.\nAffect(class-cnt:1 , method-cnt:1) cost in 75 ms.\n INDEX   TIMESTAMP            COST(ms)  IS-RET  IS-EXP   OBJECT         CLASS                          METHOD\n-------------------------------------------------------------------------------------------------------------------------------------\n 1000    2018-09-20 09:54:10  1.971195  true    false    0x55965cca     DemoServiceImpl                sayHello\n 1001    2018-09-20 09:54:11  0.215685  true    false    0x55965cca     DemoServiceImpl                sayHello\n 1002    2018-09-20 09:54:12  0.236303  true    false    0x55965cca     DemoServiceImpl                sayHello\n 1003    2018-09-20 09:54:13  0.159598  true    false    0x55965cca     DemoServiceImpl                sayHello\n 1004    2018-09-20 09:54:14  0.201982  true    false    0x55965cca     DemoServiceImpl                sayHello\n 1005    2018-09-20 09:54:15  0.214205  true    false    0x55965cca     DemoServiceImpl                sayHello\n 1006    2018-09-20 09:54:16  0.241863  true    false    0x55965cca     DemoServiceImpl                sayHello\n 1007    2018-09-20 09:54:17  0.305747  true    false    0x55965cca     DemoServiceImpl                sayHello\n 1008    2018-09-20 09:54:18  0.18468   true    false    0x55965cca     DemoServiceImpl                sayHello\"><pre class=\"notranslate\">$ tt -t org.apache.dubbo.demo.provider.DemoServiceImpl sayHello\nPress Ctrl+C to abort.\nAffect(class-cnt:1 , method-cnt:1) cost <span class=\"pl-k\">in</span> 75 ms.\n INDEX   TIMESTAMP            COST(ms)  IS-RET  IS-EXP   OBJECT         CLASS                          METHOD\n-------------------------------------------------------------------------------------------------------------------------------------\n 1000    2018-09-20 09:54:10  1.971195  <span class=\"pl-c1\">true</span>    <span class=\"pl-c1\">false</span>    0x55965cca     DemoServiceImpl                sayHello\n 1001    2018-09-20 09:54:11  0.215685  <span class=\"pl-c1\">true</span>    <span class=\"pl-c1\">false</span>    0x55965cca     DemoServiceImpl                sayHello\n 1002    2018-09-20 09:54:12  0.236303  <span class=\"pl-c1\">true</span>    <span class=\"pl-c1\">false</span>    0x55965cca     DemoServiceImpl                sayHello\n 1003    2018-09-20 09:54:13  0.159598  <span class=\"pl-c1\">true</span>    <span class=\"pl-c1\">false</span>    0x55965cca     DemoServiceImpl                sayHello\n 1004    2018-09-20 09:54:14  0.201982  <span class=\"pl-c1\">true</span>    <span class=\"pl-c1\">false</span>    0x55965cca     DemoServiceImpl                sayHello\n 1005    2018-09-20 09:54:15  0.214205  <span class=\"pl-c1\">true</span>    <span class=\"pl-c1\">false</span>    0x55965cca     DemoServiceImpl                sayHello\n 1006    2018-09-20 09:54:16  0.241863  <span class=\"pl-c1\">true</span>    <span class=\"pl-c1\">false</span>    0x55965cca     DemoServiceImpl                sayHello\n 1007    2018-09-20 09:54:17  0.305747  <span class=\"pl-c1\">true</span>    <span class=\"pl-c1\">false</span>    0x55965cca     DemoServiceImpl                sayHello\n 1008    2018-09-20 09:54:18  0.18468   <span class=\"pl-c1\">true</span>    <span class=\"pl-c1\">false</span>    0x55965cca     DemoServiceImpl                sayHello</pre></div>\n<h4 dir=\"auto\">Classloader</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/en/classloader\" rel=\"nofollow\">https://arthas.aliyun.com/doc/en/classloader</a></li>\n</ul>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ classloader\n name                                                  numberOfInstances  loadedCountTotal\n BootstrapClassLoader                                  1                  3346\n com.taobao.arthas.agent.ArthasClassloader             1                  1262\n java.net.URLClassLoader                               2                  1033\n org.apache.catalina.loader.ParallelWebappClassLoader  1                  628\n sun.reflect.DelegatingClassLoader                     166                166\n sun.misc.Launcher$AppClassLoader                      1                  31\n com.alibaba.fastjson.util.ASMClassLoader              6                  15\n sun.misc.Launcher$ExtClassLoader                      1                  7\n org.jvnet.hk2.internal.DelegatingClassLoader          2                  2\n sun.reflect.misc.MethodUtil                           1                  1\"><pre class=\"notranslate\">$ classloader\n name                                                  numberOfInstances  loadedCountTotal\n BootstrapClassLoader                                  1                  3346\n com.taobao.arthas.agent.ArthasClassloader             1                  1262\n java.net.URLClassLoader                               2                  1033\n org.apache.catalina.loader.ParallelWebappClassLoader  1                  628\n sun.reflect.DelegatingClassLoader                     166                166\n sun.misc.Launcher<span class=\"pl-smi\">$AppClassLoader</span>                      1                  31\n com.alibaba.fastjson.util.ASMClassLoader              6                  15\n sun.misc.Launcher<span class=\"pl-smi\">$ExtClassLoader</span>                      1                  7\n org.jvnet.hk2.internal.DelegatingClassLoader          2                  2\n sun.reflect.misc.MethodUtil                           1                  1</pre></div>\n<h4 dir=\"auto\">Web Console</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/en/web-console\" rel=\"nofollow\">https://arthas.aliyun.com/doc/en/web-console</a></li>\n</ul>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"site/docs/.vuepress/public/images/web-console-local.png\"><img src=\"site/docs/.vuepress/public/images/web-console-local.png\" alt=\"web console\" style=\"max-width: 100%;\"></a></p>\n<h4 dir=\"auto\">Profiler/FlameGraph</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/en/profiler\" rel=\"nofollow\">https://arthas.aliyun.com/doc/en/profiler</a></li>\n</ul>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ profiler start\nStarted [cpu] profiling\"><pre class=\"notranslate\">$ profiler start\nStarted [cpu] profiling</pre></div>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"$ profiler stop\nprofiler output file: /tmp/demo/arthas-output/20211207-111550.html\nOK\"><pre class=\"notranslate\"><code class=\"notranslate\">$ profiler stop\nprofiler output file: /tmp/demo/arthas-output/20211207-111550.html\nOK\n</code></pre></div>\n<p dir=\"auto\">View profiler results under arthas-output via browser:</p>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"site/docs/.vuepress/public/images/arthas-output-svg.jpg\"><img src=\"site/docs/.vuepress/public/images/arthas-output-svg.jpg\" alt=\"\" style=\"max-width: 100%;\"></a></p>\n<h4 dir=\"auto\">Arthas Spring Boot Starter</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://arthas.aliyun.com/doc/spring-boot-starter.html\" rel=\"nofollow\">Arthas Spring Boot Starter</a></li>\n</ul>\n<h3 dir=\"auto\">Known Users</h3>\n<p dir=\"auto\">Arthas has more than 120 registered users, <a href=\"USERS.md\">View All</a>.</p>\n<p dir=\"auto\">Welcome to register the company name in this issue: <a class=\"issue-link js-issue-link\" data-error-text=\"Failed to load title\" data-id=\"362394451\" data-permission-text=\"Title is private\" data-url=\"https://github.com/alibaba/arthas/issues/111\" data-hovercard-type=\"issue\" data-hovercard-url=\"/alibaba/arthas/issues/111/hovercard\" href=\"https://github.com/alibaba/arthas/issues/111\">alibaba/arthas#111</a> (in order of registration)</p>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"static/alibaba.png\"><img src=\"static/alibaba.png\" alt=\"Alibaba\" style=\"max-width: 100%;\"></a><br>\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"static/alipay.png\"><img src=\"static/alipay.png\" alt=\"Alipay\" style=\"max-width: 100%;\"></a><br>\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"static/aliyun.png\"><img src=\"static/aliyun.png\" alt=\"Aliyun\" style=\"max-width: 100%;\"></a><br>\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"static/taobao.png\"><img src=\"static/taobao.png\" alt=\"Taobao\" style=\"max-width: 100%;\"></a><br>\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"static/icbc.png\"><img src=\"static/icbc.png\" alt=\"ICBC\" style=\"max-width: 100%;\"></a><br>\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"static/xueqiu.png\"><img src=\"static/xueqiu.png\" alt=\"雪球财经\" style=\"max-width: 100%;\"></a><br>\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"static/sf.png\"><img src=\"static/sf.png\" alt=\"顺丰科技\" style=\"max-width: 100%;\"></a><br>\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"static/ke.png\"><img src=\"static/ke.png\" alt=\"贝壳找房\" style=\"max-width: 100%;\"></a><br>\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"static/vipkid.png\"><img src=\"static/vipkid.png\" alt=\"vipkid\" style=\"max-width: 100%;\"></a><br>\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"static/baidufengchao.png\"><img src=\"static/baidufengchao.png\" alt=\"百度凤巢\" style=\"max-width: 100%;\"></a><br>\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"static/youzan.png\"><img src=\"static/youzan.png\" alt=\"有赞\" style=\"max-width: 100%;\"></a><br>\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"static/iflytek.png\"><img src=\"static/iflytek.png\" alt=\"科大讯飞\" style=\"max-width: 100%;\"></a><br>\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"static/zhaopin.png\"><img src=\"static/zhaopin.png\" alt=\"智联招聘\" style=\"max-width: 100%;\"></a><br>\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"static/dms.png\"><img src=\"static/dms.png\" alt=\"达美盛\" style=\"max-width: 100%;\"></a></p>\n<h3 dir=\"auto\">Derivative Projects</h3>\n<ul dir=\"auto\">\n<li><a href=\"https://github.com/qunarcorp/bistoury\">Bistoury: A project that integrates Arthas</a></li>\n<li><a href=\"https://github.com/XhinLiang/arthas\">A fork of arthas using MVEL</a></li>\n</ul>\n<h3 dir=\"auto\">Credits</h3>\n<h4 dir=\"auto\">Contributors</h4>\n<p dir=\"auto\">This project exists, thanks to all the people who contributed.</p>\n<p dir=\"auto\"><a href=\"https://github.com/alibaba/arthas/graphs/contributors\"><img src=\"https://camo.githubusercontent.com/b725c2fdf6979b6150389b16dfb217c7eeec533f41dad05216cb38f79fdebe9b/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6172746861732f636f6e7472696275746f72732e7376673f77696474683d38393026627574746f6e3d66616c7365\" data-canonical-src=\"https://opencollective.com/arthas/contributors.svg?width=890&amp;button=false\" style=\"max-width: 100%;\"></a></p>\n<h4 dir=\"auto\">Projects</h4>\n<ul dir=\"auto\">\n<li><a href=\"https://github.com/alibaba/bytekit\">bytekit</a> Java Bytecode Kit.</li>\n<li><a href=\"https://github.com/oldmanpushcart/greys-anatomy\">greys-anatomy</a>: The Arthas code base has derived from Greys, we thank for the excellent work done by Greys.</li>\n<li><a href=\"https://github.com/alibaba/termd\">termd</a>: Arthas's terminal implementation is based on termd, an open source library for writing terminal applications in Java.</li>\n<li><a href=\"https://github.com/crashub/crash\">crash</a>: Arthas's text based user interface rendering is based on codes extracted from <a href=\"https://github.com/crashub/crash/tree/1.3.2/shell\">here</a></li>\n<li><a href=\"https://github.com/alibaba/cli\">cli</a>: Arthas's command line interface implementation is based on cli, open sourced by vert.x</li>\n<li><a href=\"https://github.com/skalogs/SkaETL/tree/master/compiler\">compiler</a> Arthas's memory compiler.</li>\n<li><a href=\"https://commons.apache.org/proper/commons-net/\" rel=\"nofollow\">Apache Commons Net</a> Arthas's telnet client.</li>\n<li><a href=\"https://github.com/jvm-profiling-tools/async-profiler\">async-profiler</a> Arthas's profiler command.</li>\n</ul>","updatedAt":"2025-05-21T15:49:22Z","upvoteCount":null,"author":{"login":"eryajf","avatarUrl":"https://avatars.githubusercontent.com/u/33259379?u=e4a4090a38ac2473aaed4ef9945233636776c6c3&v=4","url":"https://github.com/eryajf"},"category":null,"labels":{"edges":[{"node":{"name":"更多","color":"25B472"}},{"node":{"name":"性能分析","color":"72a5ee"}},{"node":{"name":"alibaba","color":"1d8651"}}]},"comments":{"edges":[]}}},"pageContext":{"number":37,"previous":{"title":"zmops/ArgusDBM: Argus 开源数据库一体化监控平台。致力于监控所有数据库。","number":36},"next":{"title":"gomods/athens: go 语言的私服仓库程序。没有 web 管理界面，但是认证内部 gitlab 很好用","number":38}}},
    "staticQueryHashes": ["151096407","2861350382"]}