Skip to content
DataMiner DoJo

More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Search in posts
Search in pages
Log in
Menu
  • Updates & Insights
  • Questions
  • Learning
    • E-learning Courses
    • Empower Replay: Limited Edition
    • Tutorials
    • Open Classroom Training
    • Certification
      • DataMiner Fundamentals
      • DataMiner Configurator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
      • Verify a certificate
    • YouTube Videos
    • Solutions & Use Cases
      • Solutions
      • Use Case Library
    • Agility
      • Book your Agile Fundamentals training
      • Book you Kanban workshop
      • Learn more about Agile
        • Agile Webspace
        • Everything Agile
          • The Agile Manifesto
          • Best Practices
          • Retro Recipes
        • Methodologies
          • The Scrum Framework
          • Kanban
          • Extreme Programming
        • Roles
          • The Product Owner
          • The Agile Coach
          • The Quality & UX Coach (QX)
    • >> Go to DataMiner Docs
  • DevOps
    • About the DevOps Program
    • Sign up for the DevOps Pogram
    • DataMiner DevOps Support
    • Feature Suggestions
  • Swag Shop
  • Downloads
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Solutions
    • Deal Registration
  • Contact
    • Sales, Training & Certification
    • DataMiner Support
    • Global Feedback Survey
  • >> Go to dataminer.services

Automation – What is the most performant way to retrieve all elements for a certain protocol

Solved1.16K views1st September 2022Automation
0
Jens Vandewalle [SLC] [DevOps Enabler]9.50K 1st September 2022 0 Comments

Hi Dojo,

What is the most performant way to retrieve all elements for a certain protocol?

Engine

var elements = engine.FindElementsByProtocol(“protocol name”, “protocol version”);

Class Library

var dms = engine.GetDms();

var protocol = dms.GetProtocol(“protocol name”, “protocol version”);
var elements = dms.GetElements().Where(x => x.Protocol == protocol);

Jarno Lernou [SLC] [DevOps Enabler] Answered question 1st September 2022

2 Answers

  • Active
  • Voted
  • Newest
  • Oldest
2
Matthias Declerck [SLC] [DevOps Advocate]2.77K Posted 1st September 2022 0 Comments

HI Jens,

For now, I would say the Engine call.

Why? The class library could be made better.
proposed change 1: do not retrieve the protocol if you already have the input.

var dms = engine.GetDms();

var protocolName = “protocolName”;
var elements = dms.GetElements().Where(x => String.Equals(protocolName, x?.Name, StringComparison.InvariantCultureIgnoreCase);

proposed change 2:
pass filter in the GetElements() method, like an “predicate<Element> filter” or something. The result must be a list of Elements which matches the filter.
Leaving the filter empty/null results in having the full list of elements.

I do highly believe that if those 2 proposed changes are active on the field, then I would say to use the class library.

Hope this helps you further.

Jens Vandewalle [SLC] [DevOps Enabler] Selected answer as best 1st September 2022
3
Jarno Lernou [SLC] [DevOps Enabler]5.07K Posted 1st September 2022 0 Comments

Hi Jens, if performance is critical for you I would suggest using the engine.FindElementsByProtocol as it is using the GetLiteElementInfo SLNET Message in the background.

Right now, IDms is using multiple SLNET messages (GetInfo + GetElementByIDMessage) for this. Note that the GetProtocol call would also imply requesting more information than needed (GetProtocolMessage).

Kind Regards,
Jarno

Jarno Lernou [SLC] [DevOps Enabler] Answered question 1st September 2022
Please login to be able to comment or post an answer.

My DevOps rank

DevOps Members get more insights on their profile page.

My user earnings

0 Dojo credits

Spend your credits in our swag shop.

0 Reputation points

Boost your reputation, climb the leaderboard.

Promo banner DataMiner DevOps Professiona Program
DataMiner Integration Studio (DIS)
Empower Katas
Privacy Policy • Terms & Conditions • Contact

© 2025 Skyline Communications. All rights reserved.

DOJO Q&A widget

Can't find what you need?

? Explore the Q&A DataMiner Docs