Apache Thrift is a binary remoting protocol. Cassandra uses the Thrift protocol to achieve portability across programming languages. Applications written in many different languages can make calls to the Cassandra database using the Thrift protocol.
AppDynamics is preconfigured to detect transaction entry points for Cassandra with Thrift framework applications.
AppDynamics measures performance data for Thrift transactions as for any other transaction. Thrift entry points are POJO-based. The response time for the transaction is measured from the POJO entry point, and the remote calls are tracked the same way as remote calls for a Servlet's Service method.
Default Naming for Binary Remoting (Thrift) Entry Points
When the automatic discovery for a request using Binary Remoting (Thrift) protocol is enabled, AppDynamics automatically identifies all the transactions and names them using the following format:
By default, transaction discovery for Binary Remoting (Thrift)-based request is enabled.
Enabling Auto-discovery for Binary Remoting (Thrift) Entry Points
Binary Remoting (Thrift) entry points are enabled by default, but if you are not seeing them in the Tier Flow Map, you should ensure they have been enabled as follows.
1. Access the transaction detection configuration window and select the tier to configure. See To Access Business Transaction Detection Configuration.
2. In the Binary Remoting entry of the Entry Points section, click Automatic Transaction Detection.
When enabled, you can see Thrift calls from calling tiers to the Cassandra database in the List View of the Tier Dashboard. Since the transactions using the Thrift protocol are POJO-based, they appear as POJO in the Type column.
Creating Custom Match Rules for Binary Remoting (Thrift) Requests
If you are not getting the required visibility with the auto-discovered transactions, you can configure custom match rules and transaction splitting for specific classes and methods.
To enable detection of your binary remoting business transactions, configure a custom match rule. The rule should be defined on the class/method that is the most appropriate entry point. Someone who is familiar with your application code should help make this determination.
A custom match rule lets you specify customized names for your Binary Remoting (Thrift) based requests. You can also group multiple Thrift invocations into a single business transaction using custom match rules. See Custom Match Rules for information about accessing the configuration windows.
The matching criteria for creating the custom entry point rule for a Thrift request are the POJO class name and method name of the business transaction initiating the binary remote call. Transaction splitting and exclude rules are also supported. For information about and examples of the various POJO-based business transaction match rules you can create for Binary Remoting (Thrift), see POJO Entry Points. The rules for Binary Remoting (Thrift) entry points are consistent with those for POJO entry points.