🔱About Pharos Triton

Just as the mighty Triton delivered important messages from the deep, Pharos Triton sends you crucial insights from the depths of your Salesforce automation.


Ready to Dive In?

🏁Installing Pharos Triton

Why Logging?

If you've spent any time on the Salesforce platform, you probably know that, by default, Salesforce does not generate any logs in its standard setup. You probably also know that exception emails and debug logs don't quite cut it if you’re trying to manage and troubleshoot an org. The former is simply unmanageable and the latter is extremely limited. With all its complexity the platform offers no solution to a common engineering problem: what went wrong, when, and how. Troubleshooting even a slightly complex automation can quickly take a turn for the worst. It's akin to stumbling around a dark room in hopes that you'll trip over a problem and then magically identify a solution. This exercise can be time consuming, frustrating and downright hazardous to one's mental state.

For all these reasons, many engineers have taken matters into their own hands and embarked on a logging journey. If Salesforce doesn't save logs for us, then we will!

Thus the idea of logging frameworks was born. Throughout the years these frameworks have evolved to the point that nowadays thousands of developers and admins all over the ecosystem are forever grateful to the source that is omniscient and wise: the Log.

Pharos vs Pharos Triton

You might be wondering what's the deal with Pharos? Is it the same as Pharos Triton or completely different? Are they related? If it's all Greek to you, please allow us to elaborate.

Pharos

Pharos is a Salesforce native observability platform. It is composed of several layers: tracking, awareness, action, collaboration, and resolution.

As an observability platform Pharos does much more than create logs. It provides an entire suite of functionality that relies on log data, such as notifications, analytics, grouping, monitoring, issue tracking, and so forth. Pharos is able to automatically create log records from certain system events that the Salesforce platform makes available. There's quite a bit of data in those system events.

However, that is not the only log ingestion method available. This is where Triton comes in.

Pharos Triton

Pharos Triton is a component of the larger observability platform that is Pharos. It is responsible for ingesting log data from your automation, custom rest APIs, even emails. The diagram below outlines the various components of Pharos. Note the section on the bottom right in blue. This is Pharos Triton.

What Exactly Does Pharos Triton Do?

Simply put, Pharos Triton is a logging framework for all things Salesforce. It allows creating logs from your automation whether it's code or declarative. A log record can contain any number of useful data points: debug info, warnings or even integration payloads. But really, you can log anything you need.

Pharos Triton provides a set of convenient interfaces for building logs and saving them to your Salesforce org. Sounds simple, right? Well, it is! And that's the whole premise behind this particular framework. We've crafted a number of helper classes for most of today's Salesforce logging needs. The best part is, if we missed something, you can extend and customize Pharos Triton's capabilities as you see fit.

Pharos Triton can also serve as a connector between Salesforce and other external systems, such as Mulesoft. By utilizing Triton's logging capabilities you can ingest any data from anywhere and transform into a log record that then feeds into the larger functionality of the Pharos platform.

How Does Pharos Triton Compare to Other Logging Frameworks?

When it comes to features and functionality, Pharos Triton is a top-tier logging framework. If you're familiar with Nebula logger library, you'll find Pharos Triton is just as powerful and is easier to navigate and extend. Pharos Triton utilizes platform events for persisting logs, and offers some pre-canned interfaces for you to use in Apex, LWC and flows.

What really sets Pharos Triton apart from something like Nebula is that it's not just a log util. You get a lot more functions to work with, including automated error capture, fingerprinting and categorization, issue tracking and lots of pre-canned dashboards to view and analyze log data. And let's not forget Slack and Teams notifications! Also, unlike Nebula, Pharos is a commercial solution, so you can rely on getting support for any issues you might encounter—even with the free tier.

Is Pharos Triton Free?

The short answer is yes. The Pharos platform is offered in multiple editions, including a free tier. The Pharos Triton component can be used with any Pharos edition. It's just a matter of selecting how much observability functionality you want to utilize and which edition of the Pharos platform best meets your needs. You can absolutely use Triton with a free tier of Pharos without any loss of logging functionality.

Logging Use Cases

The world of logging is vast and diverse. In theory, what you could achieve with logging is only limited by your imagination. That said, here are several common directions you could take on your logging journey.

Troubleshooting

Troubleshooting typically refers to identifying a root cause of a problem that's known to happen. In other words, we know something isn't working properly but we don't know where the problem originates. The term is a bit vague, because the range of "troubles" one could "shoot" is extensive, from user errors to automation failures. The idea here is that data in the logs will help us understand why the execution went the way it did.

Primary beneficiaries: developers, admins, and ultimately end users

Profiling

In some cases there may not be a failure as such. Rather we might be seeing a performance degradation on, say, an LWC page, a Flow, or an Apex trigger. Another possibility is that we either might be getting dangerously close to—or even hitting—the governor limits. In these instances it would be valuable to know the breakdown of precious resource consumption by each step of the execution. These resources might be: number of SOQL queries, CPU utilization, or simply execution time.

Primary beneficiaries: developers, admins, end users

Tracing

Getting into more advanced territory, we might find ourselves navigating complex multi-step transactions. For example, a screen flow that is performing a DML operation could start an Apex trigger, followed by an autolaunched flow. In these scenarios we'd like to see every step of execution recorded so we can determine if the order of operations is as we expect. Indeed, these complex bits of automation don't even need to span multiple technologies. There are plenty of use cases where everything happens in Apex but it's still complex enough that it poses a challenge.

Primary beneficiaries: developers, admins

Auditing

Some organizations have strict compliance requirements around certain key areas that require auditing. For example, a financial institution might be interested in tracking every step of a complex financial exchange.

Even if your company is not bound by compliance requirements it's still great to know that what you expect to happen does, in fact, happen. For example, let's say a closed opportunity needs to kick off a provisioning flow in an external system, followed by order creation and some outbound communication. Having an audit trail for every step of that process is invaluable for ensuring data completeness and correctness. It also prevents disconnects between parts of the business processes that can lead to disasters.

User Experience

This area is mainly concerned with user adoption. Want to know if your end users are getting to end-of-the-screen flows? How about locating time-consuming steps in a complicated custom LWC interface that are part of users' day to day? Want to know where in the application process your users are dropping off?

Analyzing log trails of users' interactions with your custom interfaces can provide all these answers and give you insights that are either unavailable otherwise or extremely hard to obtain through UX studies.

Primary beneficiaries: UX designers, admins, end users

Last updated