Released with no formal announcement in IRIS preview release 2019.4 is the /api/monitor service exposing IRIS metrics in Prometheus format. Big news for anyone wanting to use IRIS metrics as part of their monitoring and alerting solution. The API is a component of the new IRIS System Alerting and Monitoring (SAM) solution that will be released in an upcoming version of IRIS.
At least three different ways to process errors (status codes, exceptions, SQLCODE etc is given in ObjectScript. Most systems have status, but for a range of reasons exceptions are more convenient to manage. You spend some time translating between the various techniques dealing with legacy code. For reference, I use several of these excerpts. It is hoped that they will also support others.
As you might have heard, we just introduced the InterSystems API Manager (IAM); a new feature of the InterSystems IRIS Data Platform™, enabling you to monitor, control and govern traffic to and from web-based APIs within your IT infrastructure. In case you missed it, here is the link to the announcement.
In this article, I will show you how to set up IAM and highlight some of the many capabilities IAM allows you to leverage.
Is there a way to insert new Key/Value in an existing lookup Table via a DTL code? The only thing I found in the documentation is that we could use the following command SELECT KeyName,DataValue FROM Ens_Util.LookupTable WHERE TableName = 'myTab'. In the meantime I just created a table and used it in my DTL to insert new values and validate if the Key exist.
A good writer is supposed to draw you in with the title and bury the answer somewhere in the article. I suppose this makes me a bad writer – don’t think less of me, my whole feeling of self-worth comes from the opinions of internet strangers!
The following steps show you how to display a sample list of metrics available from the /api/monitor service.
In the last post, I gave an overview of the service that exposes IRIS metrics in Prometheus format. The post shows how to set up and run IRIS preview release 2019.4 in a container and then list the metrics.
This post assumes you have Docker installed. If not, go and do that now for your platform :)
Often when we develop some library, tool, package, whatever on InterSystems ObjectScript we have a question, how we deploy this package on the target machine?
Also, we often expect that some other libraries already installed, so our package depends on them, and often on some particular version of it.
When you code on javascript, python, etc the role of packages deployment with dependency management takes package manager.
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
This is a self contained class that can be run from the Intersystems Task Scheduler which records peak usage details for databases and licenses built up throughout the day and retaining 30 days history.
To schedule the task to run every hour:
d ##class(Metrics.Task).Schedule()
You can also specify your own start time, stop time, and run interval:
d ##class(Metrics.Task).Schedule(startTime, stopTime, intervalMins)
Metrics are stored in ^Metrics in the namespace that the class resides in/is run from.
In this article, I would like to talk about the spec-first approach to REST API development.
While traditional code-first REST API development goes like this:
Writing code
REST-enabling it
Documenting it (as a REST API)
Spec-first follows the same steps but reverse. We start with a spec, also doubling as documentation, generate a boilerplate REST app from that and finally write some business logic.
This is advantageous because:
You always have relevant and useful documentation for external or frontend developers who want to use your REST API
Specification created in OAS (Swagger) can be imported into a variety of tools allowing editing, client generation, API Management, Unit Testing and automation or simplification of many other tasks
Improved API architecture. In code-first approach, API is developed method by method so a developer can easily lose track of the overall API architecture, however with the spec-first developer is forced to interact with an API from the position if API consumer which usually helps with designing cleaner API architecture
Faster development - as all boilerplate code is automatically generated you won't have to write it, all that's left is developing business logic.
Faster feedback loops - consumers can get a view of the API immediately and they can easier offer suggestions simply by modifying the spec
what class or API I shall be using to execute a piece of sql to another server from one server? From within cache itself not java or python or any other languages.
https://www.youtube.com/embed/MmrePiLBDac [This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
At the moment I am trying to write a documentation file for a project and intend to use LaTeX for it. Has anyone already had experience with this? I haven't found syntax highlighting with the LaTeX packages I know yet. I found a request on Pygment but it was from 2016 and there was no reply on it since then.
Does anyone know a simple way for syntax highlighting COS in LaTeX? Thanks for your input!
When designing a hierarchy in DeepSee, a child member must have only one parent member. In the case where a child corresponds to two parents, the results can become unreliable. In the case where two similar members exist, their keys must be changed so that they are unique. We will take a look at two examples to see when this happens and how to prevent it.
I'm trying to create a new Record Map but I keep getting a ZEN Exception error. I actually go this to work the very first time I did it and have a record map. But I need to do more.
I'm working on my local machine so I can grab a CSV (or txt in this case as it's pipe delimited) from the local directory. I pick the file I want to use but when I click OK i get a popup and the following error:
I am experiencing a problem with an EDI process that uses a SQL Batch Service to connect to our DEV environment. However, when we point the EDI service to our TEST server, it errors out.
I have checked every single property on our TEST and DEV servers as well as the properties on the associated tables. They are identical. Nothing has changed in the SQL either.
I'm trying to establish a communication between my edge, which is in one server, with my HUB which is in another one. In EDGE, when the HS.Gateway.HSWS.WebServices component sends a message to the HUB component, it receives the following error: "Cannot invoke method RegisterGateway; WebServiceClientClass 'HS.Hub.HSWS.WebServicesClient' could not be instantiated, or the WebServiceURL Location could not be determined".
Trying to map two repeatable fields from a record mapper. The fields are separated by a ^. I've tried a fore each, but still getting an error when testing in the transform.
I am currently working with a "Stem Cell" supplier who do not have any/much Interface capability to push "Bone Marrow" harvest information. But willing to develop an HL7 feed/ WSDL capability.
It will be ideal, if I can get this via HL7 as much as possible and wondering if anyone has used HL7 to transmit bone marrow CD34, CD3 makers, product location and Harvest information? if so can you please advise which HL7 messages are ideal and some sample messages if possible please?