Universal decode SDK

Dynatrace provides you with what you need to start working on your custom decode. Use the SDK to write custom Lua scripts that are interpreted by the Universal Decode framework.

You can think of the Lua scripts as plugins that tailor NAM monitoring capabilities to suit your individual needs. Universal Decode is based on TCP analysis of the monitored traffic, with the added capability of assigning meaningful names to the observed TCP operations: It associates descriptive names, related to the actual end-user experience, to TCP-level exchanges (request-response pairs). The names are taken from the content of the data packets exchanged between the client and the server. Make sure you carefully read Creating your own scripts to understand how Universal Decode works and the kind of protocols it can analyze.

Requirements

You need a standard NAM installation to use your custom Universal Decode scripts.

To develop and test the scripts, you also need to add the following components to your NAM Probe installation:

  • Tcpreplay to feed the NAM Probe with traffic traces
  • lua to run scripts
  • lunit to run unit tests

Kit contents

The Dynatrace-provided development kit contains the following components:

  • Documentation
    The documentation you are reading explains the Universal Decode framework, gives you the reference of the available methods and provides the script examples based on the HTTP monitoring. We also give you some hints and good practices for script development and testing, but it is your responsibility to get to know all the proprietary technologies mentioned in this context. In particular, it refers to the Lua scripting and testing framework, Lua Development Tools Eclipse plugin, VMware management, and Tcpreplay usage.
  • Sample scripts
    The Universal Decode SDK contains all the scripts necessary for you to start development. It includes dependencies such as the unit test framework, Universal Decode stats interface, templates, and sample scripts. If you decide to use the Lua Development Tools Eclipse plugin, you should add these files to the src directory of your workspace. See Setting up your development workspace.

External resources

We recommend the following external resources.

Lua framework

Programming in Lua

Lunit - a unit testing framework for lua

Lua Development Tools (LDT)

Tcpreplay suite

Tcpreplay manual