OC Systems

Home | Contact | Advanced Search 

Technology
Aprobe 5

With Aprobe version 5, we have extended our Aprobe technology further than we've ever gone before. While the basic structure of writing probes remains the same, Aprobe 5 has been enhanced in the following areas:

  • Dynamically add and remove probes without stopping the program. This works for Java as well as natively compiled applications. For example, J2EE application servers can be instrumented and uninstrumented without restarting the application server!
  • Reduce the overall footprint dramatically, allowing probes to be used on memory-constrained systems.
  • Flexible logging support. The user can replace the supplied logging routine to better support application-specific logging of data. This is especially useful in embedded applications.
  • Kernel and User Mode. Probes can be applied to both the operating system and the user mode applications. You can add and remove probes from the OS kernel, even while the application is running!

How Aprobe 5 is used today
While we have carefully designed Aprobe 5 to be portable to different operating systems, we support the enterprise and embedded Linux applications and kernels. We support both native (C, C++) and Java applications.

In fact, you may be using a device that already has Aprobe 5 inside! Aprobe 5 is currently being used by a major embedded software OS vendor, shipping under their own brand.

Learn more about OC Systems' patented instrumentation technology
Click here to read about OC Systems' Aprobe Technology

Examples
Click on an item below to view the related source code:

1. How do I apply a probe to a Linux user mode program?
2. How do I apply a probe to Linux kernel mode interrupts?
3. How do I apply a probe to a Linux kernel mode function named testmod_timer?
4. How do I log the value of a string parameter?
5. How do I log the contents of an array?
6. How do I log the data in a class when in a probe for a member function?
7. How do I log all of the lines in one routine?
8. How do I execute a probe only if a certain data condition is met?
9. How can I log a parameter passed to a library function like strdup() when there's no debug information available?
10. How can I force a Java method to return a particular value?  

Is Aprobe 5 right for you?
There are currently three main audiences for Aprobe 5: enterprises and projects running their own version of Linux, embedded Linux vendors, and ISVs.

Enterprises – Probes are an excellent testing and integration toolset, well-suited to reduce integration costs associated with large software endeavors. Additionally, enterprises and enterprise projects sometimes use their own version of Linux that is maintained and modified independently from a vendor-supported version. This is quite common in the case of embedded Linux. Aprobe 5 can be quickly adapted to your unique version and provides an extremely powerful general-purpose software tool, able to instrument both the Linux kernel and the applications that run on it.

Aprobe 5 can provide much of the tool support that an integrated toolset from an external Linux vendor can.

Embedded Linux vendors – Aprobe 5 is a unique and powerful technology that can help differentiate your offering from commodity Linux. Vendor-specific probes can be written to accentuate the strengths of your offerings.

ISVs – Probes can leverage your existing products by adding new capabilities through targeted uses of Aprobe 5 software instrumentation. For example, vendors that sell enterprise monitoring software can use software instrumentation to monitor new applications and domains (through an OEM relationship).

Aprobe 5 supports the x86, PowerPC and MIPS instruction sets.

How we can work with you
We are flexible in our approach to providing Aprobe 5 technology to both enterprises/enterprise projects and vendors. Aprobe 5 is already shipping under an OEM agreement with a major embedded vendor as we continue to pursue additional markets and relationships.

Enterprises If you are an enterprise or a project within, we will work with you to develop a lifecycle cost. This typically involves an initial licensing fee and some level of ongoing support costs, although much depends on the needs of the project and enterprise. In some cases, the project/enterprise acquires a full source license and provides most of their own support. In other cases, it might be more cost-effective for us to provide the support. Regardless, we are committed to making Aprobe 5 work for you.

Embedded OS vendors If you are an embedded operating system vendor desiring to bring out a product version of Aprobe 5 for your Linux version, we will work with you to develop the business case and invest appropriately to bring the product to market with the goal of shared revenue.

ISVs We are software instrumentation experts with more than 15 years of experience behind us. Together, we can create a plan that is mutually beneficial with shared risks and rewards. 

More about Aprobe

Aprobe Technology Overview white paper (PDF, 353KB)

How can you use Aprobe?

Read case studies showing how Aprobe can be used to
improve performance, track down a memory leak, inject faults,
or debug at user sites.

What are probes?

See samples probes in the probe library.

 
Contact us

Please contact us to discuss your software instrumentation requirements.

Aprobe Technology Overview

Contact us

For those folks, like myself, who have been caught with many timing bugs, lots of code and no real way to understand how to kill the bugs except with an unfriendly debugger, take heart! Aprobe comes to the rescue.

Gary L. Pickard
Software Lead
Raytheon Systems, Inc.