FAQ
There are a few FAQs that come up
How do I make sure Streamsheets has a good performance?
The performance of the Eclipse Streamsheets is depending on the amount, size, and speed of the running apps. You can increase the resources assigned to docker and/or install Streamsheets on a faster system to increase the performance. Use the command docker stats to monitor used resources.
As for everything, you can always simply pump up your server strength to make Streamsheets run smooth. Here are a couple of different approaches to make sure your Apps run
How I make sure my Apps run efficient?
- Remember the core principle of Streamsheet calculation
Left to right and top to bottom. This is the calculation principle of Streamsheets. One of the main differences between a normal spreadsheet and a Streamsheet is that a Streamsheets has a defined order of calculation. It starts by calculating A1, B1, C1, ..., then it jumps to the next row and calculates again A2, B2, C2, ... . This is an immensely powerful feature, but if forgotten, it can introduce unwanted logic dependencies.
- Make sure you are not triggering functions unintentionally
Depending on the functions, the resources needed to be triggered can be higher or lower. In any case, it makes sense, to only trigger functions, when it is actually needed.
Make your app as lightweight as possible. There are a couple of performance dependencies you should look out for while creating your app.
- Cycle time: The faster your app is running, the more resources are needed. Do you really need to set the cycle speed to 10ms?
- Amount of cells: Fewer cells and fewer functions lead to an overall better performance. Instead of creating huge tables on the sheets, think about using databases and this way even persist your data. Save your calculated results and query/retrieve this data when and where you need it.
- Use of the third dimension: In Streamsheets you sometimes use a third dimension to access data. Functions like TIMEAGGREGATE() or TIMESCALE.SELECT() hold data in their cell (they stack them into the “3rd dimension”). The bigger these stacked data sets get and the more you are using these functions, the more data is moved and calculated on each step. Usually you do not need to hold 10-thousands of data points. Aggregate your data in a smart way to make your app run even more smoothly.
- Divide tasks into multiple applications
Every application runs in its own process on the server. Dividing tasks into multiple apps allows the server to manage and allocate its resources more efficiently and gives you a better overall experience. For example: Create one application to store your data in a database. Based on that data you can now create multiple dashboards for multiple purposes. All in different apps.
Why can I not start Streamsheets?
If you are using Streamsheet on premise and not hosted by us, there are different reasons, why you might run into configuration problems. Here are some:
Docker will prompt an Error message if:
- Docker has not set the option "Shared drives" in the docker settings menu to allow access to the used drive in the YML. Make sure the drive you are using to start Streamsheets from is shared with docker.
- Docker has no space left on the device. Use: docker image prune or docker volume prune to clear some space, or allow docker more disc space.
- You don´t have a valid license. There has to be a valid license in the folder "services/docker-compose/license". (not for the Raspberry Pi)
- There are other programs blocking the default port mappings of Streamsheets. Check the docker-compose file and change ports if necessary. Streamsheets not reachable in a local network:
- Sometimes firewalls are blocking the network accessibility of the Streamsheets.
Other
- In combination, the Windows power savings mode and Docker applications can run into problems. The problems may still occur after reentering the normal runtime mode of Windows. Restart your device, if you used the power savings mode.
If you find anything unusual or have more questions, let us know in our forum.