Applied Dimensionality

Recent posts

Sep 11, 2022
Planning Analytics Workspace security

Going through a security set up for a project now with Planning Analytics Workspace as front-end and thought I’d share how we set up PaW & PA security in hte last few ’largish’ deployments, i.e. with

Jul 14, 2022
TM1 Git integration - why it doesn't work for me

Thought it’d be interesting to write out the things that stop me from using TM1 Git integration so far. There’s been a few discussions on tm1forums that highlight some of them:

Feb 19, 2022
Configuring keepalive for Oracle connections in Google Compute Cloud

We’ve spent a bit of time trying to figure it out recently, so putting it out there for future Google search :)

GCP network is using a 10 minute connection tracking and drops the connection deemed ‘idle’ once they exceed this limit. In human terms it means that if you’re sending an Oracle query that exceeds this limit, the open connection will be closed. This, in conjuction with a restrictive enough firewall configuration, would lead to the following situation:

Mar 22, 2021
What do I think about when I think about TM1 TI performance

This post is an outline of the presentation I did at our internal knowledge share session recently. There’s no new or ground-breaking stuff here, just a review of well-known ideas and some of my takes on them.

Feb 23, 2021
Got a GCP associate cert as well

Decided to make some of my GCP forrays official (I did use it on a few projects) during a bit -gardening- upskilling XMas break and passed the entry level GCP cert.

Feb 12, 2021
Why I don't like 'silent' Itemskips

There’s a very innocent-looking code snippet that gives me chills whenever I encounter it (especially in a largish TIs) that goes like this:

If (something something);
	Itemskip;
Endif;

nothing really complicated, nothing to wrack your brain about, nobody’s doing their best go at IRR calcs or any other fancy things, so why the dread?

Dec 11, 2020
tm1login cube

And in case you’re using the tm1logins log file as per the previous post, here’s a TI that builds a very simple analysis cube that shows you the user logins per hour. Add it to your server and schedule a chore to update it, it should take seconds to run on a 10mb logins file. I’m using it for very simple activity analysis, answering the ‘who is using the system at all’ and ‘what is the login distribution within the day’ to identify when you can do maintenance.

Sep 11, 2020
my default tm1s-log.properties file

Thought I’d share the ‘standard’ tm1s-log.properties file I regularly use. tm1s-log.properties controls how and where tm1 logs things and the config file below generates you 4 files:

  • tm1server.log – I’m adding the Debug level for locks to see the name of the objects locked at that point in time. I’m also switching the timezone to local to avoid the mental math of UTC conversion, it’s not worth it unless you’re running a truly global system.
  • tm1event.log – Event logging as per this description, tells you ’thread X was running for more than 100s and was locked by thread Y’ type of things. Still not sure how useful it is, but why not :)
  • tm1top.log – this is fairly new (2.7 onwards) and gives you good old tm1top logs as text files. You can either read them like text files (I do this 95% of the time) or you can load them into Apache Jmeter plugin to visualise threads per time
  • tm1logins.log – this log just captures ‘user X has logged in’ events and is usefull for various licensing evaluations

I’m also limiting each file to 10mb in size (log4j.appender.S1.MaxFileSize) to make them easier to open and store 10 or 20 of such files (log4j.appender.S1.MaxBackupIndex).

Jul 31, 2020
Another PA Performance tip "Don't read from and write to the same cube in TIs" or "The cunning of CellIncrement"

Some of the largest performance gains I saw on a recent project came from ‘breaking up the circles’ in TI processes, so I thought that I’d do quick write-up on it. Nothing new, just the good old ‘don’t read and write at the same time’ adage. We humans like everything circular (our lizard brain is wired to recognise other human’s eyeys and be happy about), whereas TM1 really doesn’t like it all, anything remotely circular (rule dependencies, TIs) causes cache invalidation and massive performance degradation.

Jul 5, 2020
Planning Analytics 2.0.9 is out

I usually don’t do ‘release’ posts, but I think this one is significant for a couple of reasons. 2.9 is an official long-term support release, which means that IBM will provide only fixes to this 2.9.x branch, but no new functionality will be incorporated. None of the previous 2.x releases had such designation.