In order to quickly offer a technical solution or to provide a professional advice for the next analysis steps, the technical support specialists need to get some general and basic information.
Ticket content should always be in English and provided in a well summarized and structured way in order to be able to provide a quick and appropriate feedback. Not following the guideline will impact the processing time of the ticket.
Related Products:
BVMS SDK, Cameo SDK, BVMS
Overview:
Analyzing BVMS systems interaction with BVMS SDK based application is a challenging task. One needs to determine if the issue is based on wrong implementation of the BVMS SDK functionality, wrong programming practices, functionality and runtime behavior of BVMS system with SDK functionality or BVMS SDK issues.
In order to troubleshoot BVMS SDK or Cameo SDK application support needs the following information and logging.
Please prove the following information to support:
Problem Description
- SMA validity
- BVMS stand alone or appliance
- Detailed description of the expected behavior of the SDK functionality.
- Detailed description of the actual behavior of the SDK functionality.
SDK Components
- What type is the standalone SDK application (based on ClientSDK, ServerSDK, or CameoSDK) and on which machine is it running?
- Are there additionally client scripts, server scripts or workstation startup scripts?
SDK Interactions
- Do SDK components interact with remote Operator Clients?
- Do SDK components interact with the Operator Client UI?
- Do SDK components control devices?
- Do SDK components link to 3rdParty devices or applications?
Environment
- Which shared resources are accessed by SDK actions? (Dome cameras, AMG, Operator Client UI)
- Do SDK components interact with an unreliable environment? (Unstable network, offline devices, offline PCs, etc.)
- Do SDK components properly handle offline situations? (offline devices, configuration changes, etc.)
Please provide source code and/or Log files
The optimal approach is to provide both source code and logging for the problematic BVMS SDK application. If it is not possible to provide the code, we will start the troubleshooting process based only on the logging.
Provide a little sample application that illustrates the BVMS SDK issue and list the reproduction steps.
Add log outputs to the SDK application functionality. The logs should illustrate which BVMS SDK functionality was called at which time. Provide the logs to support.
List of Typical Mistakes that are often seen when troubleshooting BVMS / Cameo SDK based applications
- Use of Thread. Sleep() in event handlers - Consequence: loss of events in customer SDK application.
- Implementations that are not thread safe - Consequence: unexpected SDK application effects
- Unintentional introduction of multithreading issues by using timers - Consequence: unexpected SDK application effects
- Application without "speed control" - Consequence: operator overload in case of high event frequency
- Lack of configuration change handling - Consequence: data inconsistencies in SDK application (access to no longer existing devices)
- Lack of traces/logging in SDK code - Consequence: not detected malfunctions and troubleshooting difficulties
- Lack of error tolerance in SDK code - Consequence: unhandled exceptions in SDK application / script
- Lack of exception handling - Consequence: SDK application crashes