You cannot debug your code without knowing when, how, and why a bug occurred in the first place, as a recent TechCrunch article points out.
The information you need to efficiently resolve an error could include:
- Type of error
- Time of the error
- Affected parts of your application
- Environment in which the error occurred (sandbox, developer, production)
- Actions taken before the error
- User device information
- Previous occurrences of this same error (if it has ever shown up in the past)
- Similarity to other errors within your application
Railtown.ai can help you gather a lot of this information, but by combining our application with other tools can take your developer workflow to the next level. So today, we’d like to go through 2 popular tools that we recommend for expanding your team’s capabilities:
Basic Concepts
Before we jump into our review of these specific tools, let’s agree on some basic definitions.
Monitoring
Monitoring is the process of viewing and recording the state of your application and any of its underlying systems.
Monitoring is an action that you actively do within your work: you set up your logs to capture stack traces, you review any errors or unusual activity on your dashboard, you check if errors were resolved after you’ve pushed an update. All of these actions are active and pretty short-term in terms of their impact.
Observability
Observability is the ability to actively debug and resolve issues within your application by looking at larger patterns within your errors and application performance.
While monitoring is an active process, observability is more of a quality to your entire DevOps process.
As your application may get more complex, you might need to actively foster observability within your workflow. This principle is especially important if your organization uses a lot of micro-services within your application.
Now, let’s take a look at some tools that could help you move beyond monitoring errors and begin working towards observability.
New Relic
Features
New Relic is an application performance monitoring (APM) and alerting platform with a wide-array of ready-to-use features, including:
- Application Monitoring
- Infrastructure Monitoring
- Kubernetes Monitoring
- Log Management
- Errors Inbox
- Browser Monitoring
- Mobile Monitoring
- Synthetics Monitoring
- Network Monitoring
- CodeStream
You can use New Relic to measure your application’s performance and tracing any of your API calls.
Pricing
New Relic is priced based on both the amount of data that you ingest as well as the amount of users that you are giving licenses to.
There is a basic free plan at 100GB of data a month, after which you will be charged either $0.30/GB or $0.50/GB for premium features.
Keep in mind that New Relic increased their pricing multiple times in the last few years, so if their plans are already stretching your budget you might want to look for a different solution.
Reviews & Disadvantages
In a recent AMA with New Relic on Reddit, some users suggested that New Relic does not add any real value over all the available open source tools on the market.
We see both sides to this issue. On one hand, skilled DevOps engineers can configure their own observability tools to match any out-of-the-box observability platform. On the other hand, configuring your own tools takes time, and your team might not have the capacity to hire a dedicated DevOps engineer to handle these tasks.
We think that for small teams New Relic can be a wonderful option to save time and still gain all the benefits of proper APM.
New Relic also requires a lot of training to get started with their product. If you just want to get up and running in one or two days, a platform with this many integrations and features might not be the right fit.
Another complaint we’ve seen in multiple discussions is the quality of New Relic’s Customer Service. Some users seem happy, while others don’t. From what we’ve read, it seems that higher-end customers tend to get better service, but we cannot predict your experience.
Using New Relic with Railtown.ai
New Relic offers two key capabilities that we don’t include with Railtown.ai:
- APM
- Transaction Support & Monitoring
If you choose to integrate New Relic into your workflow, we recommend that you complement their insights from your production environment with Railtown.ai’s capacity to analyze errors across all of your environments through a one-click platform integration. This way, you can see whether an error is isolated to one context or if it’s propagating across multiple parts of your system.
Azure Application Insights
Features
Application Insights is part of the larger Azure Monitor data platform.
This tool helps you monitor any performance issues within each of your environments and see the full stack trace related to each error.
Most of the analysis within Application Insights focuses on your error count and performance metrics, so you will typically be alerted about the most frequent bugs in your application.
Pricing
Azure Application Insights is priced within the larger Azure Monitor service.
Their pricing operates on a pay-as-you-go model or with set packages (100 GB per day, 200 GB per day, etc.).
Reviews & Disadvantages
Since Application Insights is one part of a larger set of tools, you might run into limitations as your application scales.
Certain use cases and workflows might require you to set up Azure Monitor Metrics, VM Insights, Log Analytics, or dashboards.
Additionally, since pricing is based on usage, you need to be careful. As this thread from a few years ago shows, if you don’t set usage limits you might be surprised with a large bill at the end of the month.
To control costs, you can set up a daily cap on the amount of data that you want Application Insights to ingest.
Using Application Insights with Railtown.ai
Application Insights includes 3 features that you can’t get from Railtown.ai:
- APM
- Call dependency and failure
- Support Logs, Warning and Errors
If you use Application Insights to collect your logs, then you can implement Railtown.ai as a telemetry processor. This way, you’ll be able to pair our AI-powered error analysis with all of the other features included within Application Insights.
Railtown.ai can help you extend your error analysis to find patterns across your environments. For instance, if an error is occurring both in production and testing, Application Insights will be able to alert you to that error in either production or testing separately. With Railtown.ai you can combine the alerts across both environments into one error bucket.
By analyzing your errors across environments, you can discover and resolve any error bucket’s root cause much faster.
Final Thoughts: Advantages of Integrating Railtown.ai with Other Tools
To ease your development workflow, you need the right tools.
By integrating Railtown.ai with other tools such as New Relic and Azure Application Insights you can experience the best of both worlds:
- New Relic and Azure Application Insights help you with application performance measurement (APM) and integrate with a large array of other specialized tools.
- Railtown.ai complements APM functionality by helping you correlate errors across environments and providing you with intelligent insights for root cause analysis and debugging.
If you’re ready to experience a better way to log and analyze errors within your application, try out Railtown.ai for free.