Increasing performance of multiple reports on single page

Answered
Ashley Murphy asked on August 4, 2016

Hi,
 
I've recently been working on optimising our Flexmonster usage and wondering about increasing the performance further, as we are hitting 8 reports on the same page currently, all rather small, with the possibility of more being added in the future.
 
What I've done so far:

- Updated to using the JSON data method, so the report data is only fetched once (cached between the reports.)
- Moved from XML config to inlining the configuration in JavaScript
Questions:
Is there anyway to make it so we have a global localisation file, so each report doesn't fetch this? Currently we have a custom localisation file which gets fetched by every single report slowing the load times of them (this doesn't seem to scale greatly) 
Also, is it possible to pre-load the required Flexmonster JS assets? We're running Flexmonster as an angular app so it's sort of conflicting to load jQuery as well, but we might as well do it all at first load if possible ..
 
Any other suggestions?
 
Thanks!
Ash
 

6 answers

Public
Ian Sadovy Ian Sadovy Flexmonster August 4, 2016

Hi, Ash!
Yes, I understand your problem. We are working on the problem of multiple reports performance and it will be much better in the next version 2.3. One more improvement is a better integration with popular frameworks like Angular. I hope it will help you really much.
Regarding localization, it will be moved to JSON style in the next version. For now, I can propose you to use setLabels method from JavaScript API. E.g.

function pivotCreationCompleteHandler() {
  var labels = flexmonster.getLabels();
  labels["BUTTON_OK"] = "Accept";
  labels["BUTTON_CANCEL"] = "Reject";
  flexmonster.setLabels(labels);
  flexmonster.refresh()
} flexmonster.embedPivotComponent("flexmonster/", "pivotContainer", "100%", "515", {   jsPivotCreationCompleteHandler: pivotCreationCompleteHandler });
Public
Ashley Murphy August 5, 2016

Great!

That actually helps and I'm glad to hear this is a focus of 2.3
 
Thanks,
Ash

Public
Sengupta August 30, 2017

We have a similar situation with Version 2.322 (build 14/08/2017 10:57:25)
We need to run 5 reports in one page,
When we execute updateReport (JSON), on an average it takes 1425ms to complete for each report. That is a total of 7126ms to complete.
data -> contains 3212 rows (23 measures per row) for each report.
Any suggestion?
 
Sample row ->
"FTSE All World Region":"UK",
"Financial Times Stock Exchange.COMPANY_SIZE_MARKER 1":"L",
"Financial Times Stock Exchange.ICB 3":"8350 – BANKS",
"assetTypeLevel1":"Equity",
"baseValueWhatIf":"0",
"benchmarkWeightIndex":"0.17389323765428128300",
"countryOfIssue":"United Kingdom",
"derivativeBaseValueF0":"1770.4828004541884926716000000000000000000000",
"derivativeBaseValueF1":"1770.4828004541884926716000000000000000000000",
"derivativeNominalF0":"2772.87830924696709893751",
"derivativeNominalF1":"2772.87830924696709893751",
"description":"XXXX BANKING GROUP PLC",
"diffBaseValueF0":"2416.257628243737602051058652450359812924619132329483014122313350",
"diffBaseValueF1":"2416.257628243737602051058652450359812924619132329483014122313350",
"diffPercentageF0":"-0.00051686267509209900",
"diffPercentageF1":"-0.00051686267509209900",
"exposurePercentageF0":"0.17337637497918918400",
"futurePercentageF0":"0",
"indirectDerivativeBaseValueF0":"0",
"loadRatioF1":"0.99702770112245722657",
"nominalF0":"1266623.000000",
"nominalWhatIf":"0",
"percentageADV":"0"

Public
Ian Sadovy Ian Sadovy Flexmonster August 30, 2017

Hi Sengupta!

Could you please some details about your updateReport() function? What the report you are trying to show, amount of data, etc.?
If you have a sample for us it would be really helpful.

Regards,
 Ian

Public
Sengupta August 30, 2017

@Ian Sadovy,
yes, but I cannot post it on the support forum.
I will email it to Olena Maistrenko @ flexmonster

Public
Ian Sadovy Ian Sadovy Flexmonster September 5, 2017

Hi Sengupta!

I've made some changes to the version 2.3 and hope it will resolve the issue.
Olena will send you the package later because it contains your data and I don't think it's a good idea to post the link here.

Thanks,
 Ian

Please login or Register to Submit Answer