Peux-tu m'expliquer comment je peux analyser les logs de Simba ?
Can you explain how I can analyze Simba logs?
A typical Simba driver log line to would like like below
Feb 21 20:17:16.525 TRACE 1542911745 Simba::ODBC::Statement::SQLFetch: +++++ enter +++++

One can use regular expression based match to parse this log line to split the fields to derive meaningful insights.

For example, the fields can be split into
- timestamp
- loglevel
- pid
- message

The last message field is a long string which encapsulates a lot of important information but can be classified as below by splitting this further based on the :: delimiter.
- Namespace
- Class
- Method
- Details


There are 2 types of Simba logs
Connection Logs - Useful for getting connection attributes like agent, driver versions, operation status calls, connection failures, SSL errors etc
Driver Logs - This helps to analyze actual details around data fetch performance.

Some examples to derive meaningful insights from connection logs
Extract unique query identifier using keyword search within the message for "THandleIdentifier" or a guid pattern

Some examples to derive meaningful insights from driver logs
How long did an actual data fetch block take can be inspected using the time difference between the blocks.
SQLFetch*Enter
SQLFetch*Exit

Within each fetch block, you can look for below log lines to understand if it was a row-by-row fetch if you see a log of SQLGetData blocks.
SQLGetData*Enter
SQLGetData*Exit

There is other miscellaneous information logged by Simba driver for preceding requests such as closing a query or a session where an actual identifier needs to be sent along with the request, think of it as a payload for a REST API post request where you also need to send a payload along with the request.

Overall, deriving meaningful information from the Simba driver logs require a bit of analysis
before actually realizing the benefits of such analysis, most of the details are cryptic.

Brainstorming other ideas with Simba product team would be fantastic.
Une ligne de journal typique du pilote Simba ressemblerait à ce qui suit
Feb 21 20:17:16.525 TRACE 1542911745 Simba::ODBC::Statement::SQLFetch : +++++ enter +++++

On peut utiliser des expressions régulières pour analyser cette ligne de journal et diviser les champs afin d'obtenir des informations significatives.

Par exemple, les champs peuvent être divisés en
- horodatage
- niveau du journal
- pid
- message

Le dernier champ message est une longue chaîne de caractères qui contient de nombreuses informations importantes, mais qui peut être classée comme suit en la divisant à l'aide du délimiteur : :.
- Espace de noms
- Classe
- Méthode
- Détails


Il existe 2 types de journaux Simba
Journaux de connexion - Utiles pour obtenir les attributs de connexion comme l'agent, les versions de pilote, les appels d'état d'opération, les échecs de connexion, les erreurs SSL, etc.
Journaux des pilotes - Ils permettent d'analyser les détails réels des performances de récupération des données.

Quelques exemples pour obtenir des informations significatives à partir des journaux de connexion
Extraire l'identifiant unique de la requête en utilisant une recherche par mot-clé dans le message pour "THandleIdentifier" ou un modèle de guide.

Quelques exemples pour obtenir des informations significatives à partir des journaux des pilotes
La durée d'un bloc de récupération de données peut être vérifiée en utilisant la différence de temps entre les blocs.
SQLFetch*Enter
SQLFetch*Exit

À l'intérieur de chaque bloc de récupération, on peut rechercher les lignes de journal ci-dessous pour comprendre s'il s'agit d'une récupération ligne par ligne si l'on voit un journal des blocs SQLGetData.
SQLGetData*Enter
SQLGetData*Exit

Il y a d'autres informations diverses enregistrées par le pilote Simba pour les requêtes précédentes telles que la fermeture d'une requête ou d'une session où un identifiant réel doit être envoyé avec la requête, pensez-y comme une charge utile pour une requête post API REST où vous devez également envoyer une charge utile avec la requête.

Dans l'ensemble, l'obtention d'informations significatives à partir des journaux des pilotes Simba nécessite un peu d'analyse
avant de réaliser les avantages d'une telle analyse, la plupart des détails sont énigmatiques.

Un brainstorming sur d'autres idées avec l'équipe produit de Simba serait fantastique.
brainstorming
fr