<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Moch. Sudharmono</title>
    <description>The latest articles on DEV Community by Moch. Sudharmono (@mono13th).</description>
    <link>https://dev.to/mono13th</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F601389%2F5dd62756-5a7b-4ddf-be78-a7e75abd8b7d.png</url>
      <title>DEV Community: Moch. Sudharmono</title>
      <link>https://dev.to/mono13th</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mono13th"/>
    <language>en</language>
    <item>
      <title>Sentry - Tracing</title>
      <dc:creator>Moch. Sudharmono</dc:creator>
      <pubDate>Fri, 18 Feb 2022 10:24:31 +0000</pubDate>
      <link>https://dev.to/mono13th/sentry-tracing-1ipl</link>
      <guid>https://dev.to/mono13th/sentry-tracing-1ipl</guid>
      <description>&lt;p&gt;This is my self documentation from original docs &lt;a href="https://sentry.io/for/full-stack/" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sentry is use for trace performance issues to poor-performing api calls and slow database queries.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5fl2ykim0vtvxuj56tmh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5fl2ykim0vtvxuj56tmh.png" alt="Image description" width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It can show the list of errors log that you provided in the source code. You can trace it per functions:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyjnolc194joe4tzvlolx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyjnolc194joe4tzvlolx.png" alt="Image description" width="800" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So you could trace the error easier.&lt;/p&gt;

&lt;p&gt;Here is the features that they claim:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Learn the ins-and-outs of distributed tracing and how it can assist you in monitoring the increasingly complex requirements of full stack applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It shows how developers can trace those pesky performance issues to poor-performing API calls &amp;amp; slow database queries across all your services.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Trace View and Trace Navigator give you a through line between transactions across all your projects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Find the slowest operation or “work” taking place on your service. All without having to click into each trace.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks for reading this post. &lt;/p&gt;

</description>
      <category>development</category>
      <category>tracing</category>
      <category>programming</category>
      <category>debug</category>
    </item>
    <item>
      <title>Jaeger Tracing</title>
      <dc:creator>Moch. Sudharmono</dc:creator>
      <pubDate>Fri, 14 Jan 2022 06:25:41 +0000</pubDate>
      <link>https://dev.to/mono13th/jaeger-tracing-2bg8</link>
      <guid>https://dev.to/mono13th/jaeger-tracing-2bg8</guid>
      <description>&lt;p&gt;This is my self documentation from original docs &lt;a href="https://www.jaegertracing.io/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;What is Jaeger?&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Jaeger, inspired by Dapper and OpenZipkin, is a distributed tracing system released as open source by Uber Technologies.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;State themselves as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Monitor and troubleshoot transactions in complex distributed systems
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The things that they address for the usages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;distributed transaction monitoring&lt;/li&gt;
&lt;li&gt;performance and latency optimization&lt;/li&gt;
&lt;li&gt;root cause analysis&lt;/li&gt;
&lt;li&gt;service dependency analysis&lt;/li&gt;
&lt;li&gt;distributed context propagation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And also here is the features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OpenTracing with compatibility to Go, Java, Node, Python, C++ and C#.&lt;/li&gt;
&lt;li&gt;Uses data with individual per service/endpoint probabilities&lt;/li&gt;
&lt;li&gt;Multiple storage backends: Cassandra, Elasticsearch, memory.&lt;/li&gt;
&lt;li&gt;System topology graphs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Jaeger helps me with performance monitoring like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Response time for each endpoint&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frzj5sche76lnn8kqz6kh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frzj5sche76lnn8kqz6kh.png" alt="Response Time" width="800" height="1352"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tracing error to which code break&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fos2m7eu1yc8wzm54jf0c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fos2m7eu1yc8wzm54jf0c.png" alt="Tracing Error" width="800" height="953"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Find specific tag on each operation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmfwigk8f37b145xr4vy7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmfwigk8f37b145xr4vy7.png" alt="Tag Finder" width="800" height="1350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Jaeger helps me to monitoring error, tracing error and monitoring performance.&lt;/p&gt;

</description>
      <category>tracing</category>
      <category>jaeger</category>
      <category>distributedsystems</category>
    </item>
    <item>
      <title>Golang Echo</title>
      <dc:creator>Moch. Sudharmono</dc:creator>
      <pubDate>Fri, 07 Jan 2022 10:11:03 +0000</pubDate>
      <link>https://dev.to/mono13th/golang-echo-36kg</link>
      <guid>https://dev.to/mono13th/golang-echo-36kg</guid>
      <description>&lt;p&gt;This is my self documentation from original docs &lt;a href="https://echo.labstack.com/guide/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Echo claims these points:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;High performance, extensible, minimalist Go web framework
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;which the biggest point is minimalist. That's why I started to writing here to talk about Echo.&lt;/p&gt;

&lt;p&gt;Another strong points of Echo:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Optimized Route&lt;br&gt;
Highly optimized HTTP router with zero dynamic memory allocation which smartly prioritizes routes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Scalable&lt;br&gt;
Build robust and scalable RESTful API, easily organized into groups.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Automatic TLS&lt;br&gt;
Automatically install TLS certificates from Let's Encrypt.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;HTTP/2&lt;br&gt;
HTTP/2 support improves speed and provides better user experience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Middleware&lt;br&gt;
Many built-in middleware to use, or define your own. Middleware can be set at root, group or route level.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Data Binding&lt;br&gt;
Data binding for HTTP request payload, including JSON, XML or form-data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Data Rendering&lt;br&gt;
API to send variety of HTTP response, including JSON, XML, HTML, File, Attachment, Inline, Stream or Blob.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Templates&lt;br&gt;
Template rendering using any template engine.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extensible&lt;br&gt;
Customized central HTTP error handling. Easily extendable API.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Next post will write about &lt;em&gt;Getting Started&lt;/em&gt;&lt;/p&gt;

</description>
      <category>go</category>
      <category>learning</category>
      <category>echo</category>
      <category>writing</category>
    </item>
  </channel>
</rss>
