{"id":356512,"date":"2024-05-20T23:31:18","date_gmt":"2024-05-20T23:31:18","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=356512"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2024-05-20T23:31:18","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=356512","title":{"rendered":"<span>Release of Chipmunk v.3<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>We released the new version of <a href=\"https:\/\/github.com\/esrlabs\/chipmunk\/releases\/latest\" rel=\"noopener noreferrer nofollow\">Chipmunk<\/a>, software for viewing\/analyzing log files. <a href=\"https:\/\/github.com\/esrlabs\/chipmunk\/releases\/latest\" rel=\"noopener noreferrer nofollow\">V.3<\/a> is wholly reworked with an accent to performance and rethought considering usability. Below short list of the most important changes and a general description.<\/p>\n<hr\/>\n<p>Our primary (currently of course) group of users &#8212; developers from the embedded world and especially from the automotive area. That&#8217;s reasonable, as soon as they have a deal with specific log formats and huge data. One, let&#8217;s say, DLT (Diagnostic Log and Trace) file in 10Gb &#8212; usual case and some kind of tool, which is able to quickly open and search, is needed.<\/p>\n<p>At the same time, I&#8217;m sure, chipmunk would be a useful tool for some trivial reasons:<\/p>\n<ul>\n<li>\n<p>opens any size files without troubles and lags<\/p>\n<\/li>\n<li>\n<p>quickly search by regular expressions or simple matches<\/p>\n<\/li>\n<li>\n<p>remembers filters and searches<\/p>\n<\/li>\n<li>\n<p>builds charts with regular expressions and quickly browsers them independently on the amount of data <\/p>\n<\/li>\n<\/ul>\n<p>Of course, it&#8217;s just a small part of Chipmunk&#8217;s features. I will not bother you with a full list of functionality and focus on the most important updates of Chipmunk v.3.<\/p>\n<h2>Home screen<\/h2>\n<p>Chipmunk v.3 comes with a &#171;Home screen&#187;. The place where are shown recent user&#8217;s actions, a browser of files via favorites places, and a quick access menu.<\/p>\n<p>A recent user&#8217;s action isn&#8217;t only a recently opened file, but a recent connection or recently done concatenation operation. All of it Chipmunk remembers and allows you to quickly back to the previous session via &#171;Home screen&#187; or with Ctrl\/Command + P.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d1c\/2db\/07b\/d1c2db07ba6d6f2c89956e4c648f5cd4.gif\" width=\"2308\" height=\"1606\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d1c\/2db\/07b\/d1c2db07ba6d6f2c89956e4c648f5cd4.gif\"\/><\/figure>\n<h2>Charts<\/h2>\n<p>As soon as all operations\/calculations happen in a core (written in rust), Chipmunk v.3 became much less dependent on the amount of data. Of course, a GIF animation with 10 fps doesn&#8217;t allow you to see how smoothly the chart&#8217;s render works and I strongly recommend trying it by yourself.<\/p>\n<details class=\"spoiler\">\n<summary>How to create a chart?<\/summary>\n<div class=\"spoiler__content\">\n<p>It&#8217;s easy. You should create a regular expression with a group. Let&#8217;s say you have in your logs something like <code>CPU=45,99%<\/code> and you would like to extract all CPU values and see its changes on a chart. To cover this, you can use a simple regular expression with a group <code>CPU=(\\d{1,},\\d{1,})<\/code>.<\/p>\n<\/div>\n<\/details>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ef6\/2aa\/d4d\/ef62aad4d43c603bb903eef9a1bd5d24.gif\" width=\"2308\" height=\"1532\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ef6\/2aa\/d4d\/ef62aad4d43c603bb903eef9a1bd5d24.gif\"\/><\/figure>\n<h2>Breadcrumbs<\/h2>\n<p>One more new feature &#8212; breadcrumbs. It&#8217;s trivial and at the same time very useful. Chipmunk mixes search results and the rest content of the file\/stream. It allows us to see things right after the match and before it.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/64c\/26f\/362\/64c26f3622968934f25715b214a1dc4f.gif\" width=\"2308\" height=\"1606\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/64c\/26f\/362\/64c26f3622968934f25715b214a1dc4f.gif\"\/><\/figure>\n<h2>Streams mixing<\/h2>\n<p>Another feature &#8212; is the mixing of streams. For example, you are welcome to spawn a couple of terminal commands and see mixed output in the scope of one session. Chipmunk puts chunks of each stream in the same order as it comes and highlights it with individual colors to better understand a source of data.<\/p>\n<p>You can mix any kind of stream with only one restriction, it should require the same parser. You cannot mix DLT stream with plain text output from a terminal command. But you can mix, for example, output from serial port and terminal command.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ca9\/8b4\/f6e\/ca98b4f6e1f02738a00d3338fa4060f1.gif\" width=\"2308\" height=\"1532\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ca9\/8b4\/f6e\/ca98b4f6e1f02738a00d3338fa4060f1.gif\"\/><\/figure>\n<p>By the way, about terminal commands. Chipmunk not only reads output but also allows you to \u201cdrop\u201d something into it. Same for other streams, like serial port &#8212; you are able to write into it.<\/p>\n<p>One more update &#8212; Chipmunk v.3 comes with an updated manager of a stream. You can configure the source and parser as well.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/97f\/716\/b10\/97f716b109f04fb44cede15db0a9d4b2.gif\" width=\"2308\" height=\"1606\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/97f\/716\/b10\/97f716b109f04fb44cede15db0a9d4b2.gif\"\/><\/figure>\n<h2>Filters, charts, and presents.<\/h2>\n<p>Chipmunk not only remembers your search conditions of the chart&#8217;s rules but also suggests reusing of it. Let&#8217;s say you opened a file with extension *.log. Next time you open a file with the same extension, Chipmunk will suggest recently used filters for the same type of file. Same for terminal commands and connections &#8212; Chipmunk will restore filters\/charts that you&#8217;ve already used with the same connection\/command.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/997\/1a4\/53a\/9971a453af177ff407b538687ee4ef49.gif\" width=\"2308\" height=\"1532\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/997\/1a4\/53a\/9971a453af177ff407b538687ee4ef49.gif\"\/><\/figure>\n<p>I think that&#8217;s all. It&#8217;s the most important changes coming with v.3<\/p>\n<p>Unfortunately, because of limited resources, some features of v.2 weren&#8217;t included in Chipmunk v.3.<\/p>\n<ul>\n<li>\n<p>time measurement between lines of log<\/p>\n<\/li>\n<li>\n<p>merging of files by timestamp<\/p>\n<\/li>\n<li>\n<p>comments in logs <\/p>\n<\/li>\n<\/ul>\n<p>We would be happy to put back these features and add new ones, but how fast it can happen &#8212; depends on your support. I would remind you, Chipmunk v.3 is a fully open-source project. And that&#8217;s very important to get your feedback and support. To support us would be enough to leave a <a href=\"https:\/\/github.com\/esrlabs\/chipmunk\" rel=\"noopener noreferrer nofollow\">star<\/a> on our <a href=\"https:\/\/github.com\/esrlabs\/chipmunk\" rel=\"noopener noreferrer nofollow\">GitHub<\/a> page. Last time (~2 years ago) we&#8217;ve gotten ~200 stars as your support and now we have Chipmunk v.3.  <\/p>\n<p>Believe me, this trivial action really influences the future of the project and how intensively it&#8217;s developed. <\/p>\n<p>Thanks for your time. I will be happy to answer your questions.<\/p>\n<p>I wish you to be in a great mood and log without errors.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/765042\/\"> https:\/\/habr.com\/ru\/articles\/765042\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>We released the new version of <a href=\"https:\/\/github.com\/esrlabs\/chipmunk\/releases\/latest\" rel=\"noopener noreferrer nofollow\">Chipmunk<\/a>, software for viewing\/analyzing log files. <a href=\"https:\/\/github.com\/esrlabs\/chipmunk\/releases\/latest\" rel=\"noopener noreferrer nofollow\">V.3<\/a> is wholly reworked with an accent to performance and rethought considering usability. Below short list of the most important changes and a general description.<\/p>\n<hr\/>\n<p>Our primary (currently of course) group of users &#8212; developers from the embedded world and especially from the automotive area. That&#8217;s reasonable, as soon as they have a deal with specific log formats and huge data. One, let&#8217;s say, DLT (Diagnostic Log and Trace) file in 10Gb &#8212; usual case and some kind of tool, which is able to quickly open and search, is needed.<\/p>\n<p>At the same time, I&#8217;m sure, chipmunk would be a useful tool for some trivial reasons:<\/p>\n<ul>\n<li>\n<p>opens any size files without troubles and lags<\/p>\n<\/li>\n<li>\n<p>quickly search by regular expressions or simple matches<\/p>\n<\/li>\n<li>\n<p>remembers filters and searches<\/p>\n<\/li>\n<li>\n<p>builds charts with regular expressions and quickly browsers them independently on the amount of data <\/p>\n<\/li>\n<\/ul>\n<p>Of course, it&#8217;s just a small part of Chipmunk&#8217;s features. I will not bother you with a full list of functionality and focus on the most important updates of Chipmunk v.3.<\/p>\n<h2>Home screen<\/h2>\n<p>Chipmunk v.3 comes with a &#171;Home screen&#187;. The place where are shown recent user&#8217;s actions, a browser of files via favorites places, and a quick access menu.<\/p>\n<p>A recent user&#8217;s action isn&#8217;t only a recently opened file, but a recent connection or recently done concatenation operation. All of it Chipmunk remembers and allows you to quickly back to the previous session via &#171;Home screen&#187; or with Ctrl\/Command + P.<\/p>\n<figure class=\"full-width\"><\/figure>\n<h2>Charts<\/h2>\n<p>As soon as all operations\/calculations happen in a core (written in rust), Chipmunk v.3 became much less dependent on the amount of data. Of course, a GIF animation with 10 fps doesn&#8217;t allow you to see how smoothly the chart&#8217;s render works and I strongly recommend trying it by yourself.<\/p>\n<details class=\"spoiler\">\n<summary>How to create a chart?<\/summary>\n<div class=\"spoiler__content\">\n<p>It&#8217;s easy. You should create a regular expression with a group. Let&#8217;s say you have in your logs something like <code>CPU=45,99%<\/code> and you would like to extract all CPU values and see its changes on a chart. To cover this, you can use a simple regular expression with a group <code>CPU=(\\d{1,},\\d{1,})<\/code>.<\/p>\n<\/div>\n<\/details>\n<figure class=\"full-width\"><\/figure>\n<h2>Breadcrumbs<\/h2>\n<p>One more new feature &#8212; breadcrumbs. It&#8217;s trivial and at the same time very useful. Chipmunk mixes search results and the rest content of the file\/stream. It allows us to see things right after the match and before it.<\/p>\n<figure class=\"full-width\"><\/figure>\n<h2>Streams mixing<\/h2>\n<p>Another feature &#8212; is the mixing of streams. For example, you are welcome to spawn a couple of terminal commands and see mixed output in the scope of one session. Chipmunk puts chunks of each stream in the same order as it comes and highlights it with individual colors to better understand a source of data.<\/p>\n<p>You can mix any kind of stream with only one restriction, it should require the same parser. You cannot mix DLT stream with plain text output from a terminal command. But you can mix, for example, output from serial port and terminal command.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>By the way, about terminal commands. Chipmunk not only reads output but also allows you to \u201cdrop\u201d something into it. Same for other streams, like serial port &#8212; you are able to write into it.<\/p>\n<p>One more update &#8212; Chipmunk v.3 comes with an updated manager of a stream. You can configure the source and parser as well.<\/p>\n<figure class=\"full-width\"><\/figure>\n<h2>Filters, charts, and presents.<\/h2>\n<p>Chipmunk not only remembers your search conditions of the chart&#8217;s rules but also suggests reusing of it. Let&#8217;s say you opened a file with extension *.log. Next time you open a file with the same extension, Chipmunk will suggest recently used filters for the same type of file. Same for terminal commands and connections &#8212; Chipmunk will restore filters\/charts that you&#8217;ve already used with the same connection\/command.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>I think that&#8217;s all. It&#8217;s the most important changes coming with v.3<\/p>\n<p>Unfortunately, because of limited resources, some features of v.2 weren&#8217;t included in Chipmunk v.3.<\/p>\n<ul>\n<li>\n<p>time measurement between lines of log<\/p>\n<\/li>\n<li>\n<p>merging of files by timestamp<\/p>\n<\/li>\n<li>\n<p>comments in logs <\/p>\n<\/li>\n<\/ul>\n<p>We would be happy to put back these features and add new ones, but how fast it can happen &#8212; depends on your support. I would remind you, Chipmunk v.3 is a fully open-source project. And that&#8217;s very important to get your feedback and support. To support us would be enough to leave a <a href=\"https:\/\/github.com\/esrlabs\/chipmunk\" rel=\"noopener noreferrer nofollow\">star<\/a> on our <a href=\"https:\/\/github.com\/esrlabs\/chipmunk\" rel=\"noopener noreferrer nofollow\">GitHub<\/a> page. Last time (~2 years ago) we&#8217;ve gotten ~200 stars as your support and now we have Chipmunk v.3.  <\/p>\n<p>Believe me, this trivial action really influences the future of the project and how intensively it&#8217;s developed. <\/p>\n<p>Thanks for your time. I will be happy to answer your questions.<\/p>\n<p>I wish you to be in a great mood and log without errors.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/765042\/\"> https:\/\/habr.com\/ru\/articles\/765042\/<\/a><br \/><\/br><\/br><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-356512","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/356512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=356512"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/356512\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=356512"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=356512"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=356512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}