Comments (4)
Hi Mark,
Thanks for the feedback.
Grafana uses GRPC to communicate with plugins, allowing the developer to use the language of choice for writing the backend. Although Grafana has standardized on golang, many of the OPC UA tools, examples, and utilities supplied by the OPC Foundation are in C#. This is not for OPC COM/DCOM compatibility, but for OPC UA compatibility. I'm using dotnet core and compiling for 3 separate OS's for the backend, thus all 3 will be supported (osx, windows, linux). I spent quite a bit of time in the past looking at gopcua, but found that it was not quite mature enough.
With that said, backends can be written in any language and you are welcome to fork and use something else. The open62541 project looks quite good, but I liked having an object oriented language to work with. I had even (at one point) tried to use open62541 wrapped with golang.
In the end, it's my personal opinion that C# is still the best path forward.
from opcua-datasource.
Dear Stephanie,
For now, I need to somehow make a OPC UA server and update variables in a golang app. As you said, gopcua has poor documentation, the open62541 looks promising, but it would need a kind of wrapper for my golang app - I think it's the way to go. Things I do like from open62541 is that it is made for embedded systems, it does not require large memory and computation power. Since it is build in C, it should be easily ported on various platforms and OS.
Once I will make the OPC server running, I will try your datasource. Everything will run on ARM processor, OS is Linux Debian buster.
I know, that it takes lots of efforts to make a stable application. My personal opinion is that your application would be best if made in golang, as the Grafana is also made in golang (personally I don't like the golang) just to make it more portable and preferably someday merged into master. I do think that the OPC UA client for Grafana is a very useful add-on.
If you decided to go with .NET and C# then we shall use it in this form, every contribution is welcome. I wish you all the best.
from opcua-datasource.
Thanks for your comments Marko. I'm not suggesting I would do this work, but one more thought for you. What about bypassing golang entirely. If memory is a constraint, would it not make more ssense to go to open62541 directly using a C grpc backend? I suppose if there is a use case, there is no reason why you could not have multiple backend implementations. One for low memory environments. The trade off being one may be less feature rich than the other, or better supported, etc. etc.
from opcua-datasource.
My 2 cents: in my opinion implementation of OPC UA Server has nothing to do with the Grafana plugin for OPC UA because the later is a client. I don't think it is typical that the Grafana server would be running in some resource constraint machine, the same where your OPC UA Server is running. I would think that the Grafana server in most cases runs in some PC kind of machine.
And agree with Stephanie that if you decide to use open62541, it is better to write your server in C.
from opcua-datasource.
Related Issues (20)
- After update to 1.3.7/1.3.8, "Plugin unavailable" error message HOT 2
- Audit OPC-UA for deprecation
- Browse from currently selected node HOT 2
- [Question] - What is the database used HOT 2
- Release for Grafana v9.0.2 linux-arm HOT 3
- Subscription support HOT 1
- Plugin Unavailable Error HOT 8
- Build for Grafana-arm64 HOT 1
- Support nodes with string type identifier HOT 1
- ApplicationCertificate? HOT 1
- Plugin Health Check Failed under Windows HOT 3
- Reading a long history does not work HOT 6
- Plugin Error - Try to explore OPC Server HOT 1
- Unable to fill in url-field in data source HOT 17
- Rewrite middle layer for OPC UA HOT 3
- Sorry noob question. How do I run yarn install, build etc.
- [Makefile:21: build] Error 127 HOT 2
- When publish the V1.3.6 to Grafana Offical Plugin Datasouce HOT 4
- Hangs when click Save & Test : Testing... this could take up to a couple of minutes HOT 1
- v1.3.6 not available in grafana plugins HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opcua-datasource.