Question David Loveluck · Sep 6, 2023

on red hat, but I would also be interested in a wider answer.

after running a benchmark for 40 minutes, I have been asked if any rollbacks occurred in that time. Rollbacks from SQL or objects.

The application does not record this, so I am looking for a system level record.

The journal entries do the necessary reverse sets and commit just like any transaction. So i don't think i can detect them there.

4
1 428
Article David Loveluck · Aug 27, 2019 28m read

Since Caché 2017 the SQL engine has included new set of statistics. These record the number of times a query is executed and the time it takes to run.

This is a gold mine for anyone monitoring and trying to optimize the performance of an application that includes many SQL statements but it isn’t as easy to access the data as some people want.

This article and the associated sample code explains how to use this information and how to routinely extract a summary of daily statistics and keep a historic record of the SQL performance of your application.

What is recorded?

7
6 1657
Article David Loveluck · Feb 25, 2019 4m read

There have been some very helpful articles in the community that show how to use Grafana with IRIS (or Cache/Ensemble) by using an intermediate database.

But I wanted to get at IRIS structures directly. In particular, i wanted to access the Cache History monitor data that is accessible by SQL as described here

https://community.intersystems.com/post/apm-using-cach%C3%A9-history-mo…

and didn't want anything between me and the data.

5
4 1683
Article David Loveluck · Feb 1, 2018 1m read

Here is a snippet that I learned yesterday

You can define an index on a collection property but when I tried to use it, I failed. I was using

     Select ….. where …. :xx %INLIST collproperty

But this will not use an index, but the equivalent syntax

     SELECT .. WHERE ... FOR SOME %ELEMENT(collproperty) (%VALUE=:xx)

will use the index 

Check out

     http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…

Dave

2
1 386
Article David Loveluck · Dec 15, 2017 9m read

practical guide to using the tools PERFMON and MONLBL.

Introduction

When investigating performance problems, I often use the utilities ^PERFMON and ^%SYS.MONLBL to identify exactly where in the application pieces of code are taking a long time to execute. In this short paper I will describe an approach that first uses ^PERFMON to identify the busiest routines and then uses ^%SYS.MONLBL to analyze those routines in detail to show which lines are the most expensive.

6
1 1219
Article David Loveluck · Nov 20, 2017 5m read

APM normally focuses on the activity of the application but gathering information about system usage gives you important background information that helps understand and manage the performance of your application so I am including the IRIS History Monitor in this series.

In this article I will briefly describe how you start the IRIS or Caché History Monitor to build a record of the system level activity to go with the application activity and performance information you gather. I will also give examples of SQL to access the information.

What is the IRIS or Caché History Monitor?

3
3 1885
Article David Loveluck · Jul 26, 2017 3m read

What is APM?

I am talking about Application Performance Management at global summit, and several people have asked what that means so it is time for a bit of an explanation.

APM or Application Performance Management (sometimes referred to as Application Performance Monitoring) has a very good (if complicated) explanation on Wikipedia but to me it just means looking at performance from the users’ point of view and the level of service provided to them.

0
1 769
Article David Loveluck · May 27, 2016 1m read

Java Business Services and Operations

In Ensemble 2016.3 ‘Java Business Hosts’ provides the means to create new Business Services and Business Operations using Java without need for any ObjectScript coding. There are two major reasons to use this capability:

  •  Add new protocols to Ensemble using available Java libraries.
  •  Allows Java developers to create custom business services and operations without needing to learn Caché ObjectScript..

At Global Summit there were two sessions and an experience lab covering Java Business Hosts that got a lot of attention and a very positive reaction.

0
0 527
Article David Loveluck · Jan 26, 2016 1m read

This is a nice introductory explanation of MQTT that I thought would be of general interest. The technology used for the broker in this case is not that important as there are several brokers available.

At global summit we will be demonstrating ways to use MQTT with Ensemble to get information from the Internet of Things into your enterprise applications and business processes,

http://www.hivemq.com/blog/how-to-get-started-with-mqtt

Dave

0
0 753
Article David Loveluck · Jan 15, 2016 1m read

Has anyone tried the new Activity Volume Statistics and Monitoring  in Ensembel 2016.1? I would love to get some feedback.

If you haven't read about this, there is a dashboard that provides counts and response times for messages sent and received by each configuration item. Alternatively the underlying data is arranged in tables that should make it easy for you to use your favorite SQL reporting tools to generate reports for short term performance monitoring or longer term capacity planning.

Dave

9
2 1101
Article David Loveluck · Sep 28, 2015 1m read

Introduction

HL7 V2 message routing solutions often have hundreds of business services, processes and operations. Inevitably things will go wrong and you have to monitor the production to be able to react quickly and resolve any problems before they can become serious issues.

Ensemble includes some powerful alerting capabilities that can help, but if you aren't careful you will be inundated with alerts and your inbox more or less becomes a copy of the event log defeating the object of the exercise.

0
0 275
Article David Loveluck · Sep 28, 2015 1m read

Introduction

This paper describes how Ensemble behaves after a system crash or similar uncontrolled shutdown or failover. Ensemble is normally configured to start processing messages automatically when the operating system restarts or when the system has failed over to a cluster member or mirror member. No manual intervention is required. But, in order for your system to robustly handle system failure and restart, you must understand how Ensemble handles these conditions and develop your productions using the rules and guidelines in this document.

0
0 547
Article David Loveluck · Sep 28, 2015 1m read

Ensemble is based on message flow, and a data transformation is a way to convert from one message type to another. DTL (Data Transformation Language) adds a layer to this - it provides a graphical way to do the conversion. This is really helpful because most of the time, people with domain-specific knowledge may not have extensive coding skills. However, you always have the ability to do some coding, so if you need or want to, this is available.

DTL has several components: the data transformation engine, the language itself, and the DTL editor.

0
0 395
Article David Loveluck · Sep 28, 2015 1m read

An introduction to virtual documents

Ensemble virtual documents enable your productions to work with large and complex documents with little overhead.

What is a virtual document?

A virtual document is a special kind of Ensemble message, for use with Electronic Data Interchange (EDI) messages and with XML documents.

How are virtual documents different from standard messages?

0
0 169
Article David Loveluck · Sep 28, 2015 1m read

The Business Processing Language - for orchestration and long-running business processes.

Ensemble can orchestrate calls to external systems. Very often this is done to implement or automate a long-running business process - that is, real business processes where people interact with a series of different systems to complete complex tasks. BPL (the Business Processing Language) provides a graphical way to create these orchestrations.

0
0 355
Article David Loveluck · Sep 28, 2015 1m read

How do you balance the need to achieve an early success with SOA against the requirement for an architecture that will deliver long term success? You don't want to get bogged down in architectural committees for three years, but you don't want to make short term decisions that will be roadblocks to long term success.

0
0 356
Article David Loveluck · Sep 28, 2015 1m read

Are you new to Ensemble? InterSystems provides several tools to learn the basics of Ensemble and get on your way to becoming an expert in the technology. Before installing Ensemble, take a look at the Ensemble Technology Overview and Getting Started with Ensemble in documentation. Respectively, these documents explain features and major components of Ensemble as well as how to install the software.

0
0 351
Article David Loveluck · Sep 28, 2015 1m read

Introduction

Application integration at its simplest is often just one application sending a message to another to notify it of some change. Perhaps when a patient arrives at a hospital, the registration system will send a message to clinical systems so they have all demographic data ready to use. Of perhaps it is just a nightly file transfer from the sales system to the accounting system.

But modern application integration platforms or suites can do a lot more than this to help applications work together and add real value to the enterprise.

0
0 357