Aller au contenu principal
Version : Suivant

Collecte des données

Pour nous aider à améliorer sans cesse nos produits, nous collectons automatiquement des données concernant les statistiques d'utilisation des applications 4D Server. Les données collectées sont transférées sans incidence sur l'expérience utilisateur. Aucune information personnelle n'est collectée. For more information on 4D policy regarding personal data protection, please visit this page.

La section ci-dessous explique :

  • quelles sont les informations collectées,
  • où les informations sont stockées et quand elles sont envoyées à 4D,
  • comment désactiver la collecte automatique de données dans les applications client/serveur générées.

Informations collectées

Les données sont collectées lors des événements suivants :

  • démarrage de la base de données,
  • fermeture de la base de données,
  • démarrage du serveur web,
  • utilisation de fonctions spécifiques telles que php, open datastore, débogueur distant,
  • connexion client,
  • envoi de la collecte de données.

Certaines données sont également collectées à intervalles réguliers.

DataTypeNotes
appServerObjectObject containing application server information
appServer.hitsNumberNumber of requests from internal processes
appServer.bytesInNumberBytes received by internal processes
appServer.bytesOutNumberBytes sent by internal processes
appServer.executionTimeNumberCPU execution time for internal processes
cacheMissBytesObjectNombre d'octets manqués dans le cache
cacheMissCountObjectNombre de lectures manquées dans le cache
cacheReadBytesObjectNombre d'octets lus à partir de la mémoire cache
cacheReadCountObjectNombre de lectures dans le cache
classUsageObjectNombre d'instances de certaines classes du langage
connectionSystemsCollectionSystème d'exploitation du client sans le numéro de build (entre parenthèses) et nombre de clients qui l'utilisent
databases[].cacheSizeNumberTaille du cache en octets
databases[].externalDatastoreOpenedNumberNombre d'appels à Open datastore
databases[].idNumberDatabase ID
databases[].internalDatastoreOpenedNumberNombre de fois où le datastore est ouvert par un serveur externe
databases[].maxConcurrent4DClientsNumberMaximum number of simultaneous 4D Client sessions (using a 4D Client license) over the collection interval
databases[].maxConcurrentRestSessionsNumberMaximum number of simultaneous REST sessions over the collection interval
databases[].maxConcurrentWebSessionsNumberMaximum number of simultaneous Web sessions (4DACTION and SOAP) over the collection interval
databases[].maximum4DClientConnectionsNumberNombre maximal de connexions de 4D Client au serveur
databases[].numberOfDistinctClientsNumberDistinct count of client persistent UUID seen over collection interval
databases[].numberOfFieldsNumberNombre de champs
databases[].numberOfKeepRecordSyncInfoNumberNombre de tables dont l'option "Activer la réplication" est cochée
databases[].numberOfRecordsMaxNumberNombre total d'enregistrements
databases[].numberOfTablesNumberNombre de tables
databases[].qodly.webformsNumberNombre de webforms Qodly
databases[].remoteDebugger4DRemoteAttachmentsNumberNombre de rattachements au débogueur distant à partir d'un 4D distant
databases[].remoteDebuggerQodlyAttachmentsNumberNombre de rattachements au débogueur distant à partir de Qodly
databases[].remoteDebuggerVSCodeAttachmentsNumberNombre de rattachements au débogueur distant à partir de VS Code
databases[].structureHashText
databases[].uniqueIDTexte (chaîne hachée)Identifiant unique associé à la base de données (Hachage par roulement polynomial du nom de la base de données)
databases[].uptimeNumberTime elapsed (in seconds) between two collection events
databases[].uuidTextDatabase UUID
databases[].webIPAddressesNumberNumberNombre d'adresses IP différentes ayant adressé une requête à 4D Server
databases[].webMaxScalableSessionsNumberMaximum number of scalable sessions on the server
databases[].webScalableSessionsBooleanVrai si les sessions évolutives sont activées
dataSegment1.diskReadBytesObjectNombre d'octets lus dans le fichier de données
dataSegment1.diskReadCountObjectNombre de lectures dans le fichier de données
dataSegment1.diskWriteBytesObjectNombre d'octets écrits dans le fichier de données
dataSegment1.diskWriteCountObjectNombre d'écritures dans le fichier de données
dataSizeNumberTaille du fichier de données en octets
dbServerObjectObject containing DB4D server information
dbServer.hitsNumberNumber of requests from internal processes
dbServer.bytesInNumberBytes received by internal processes
dbServer.bytesOutNumberBytes sent by internal processes
dbServer.executionTimeNumberCPU execution time for internal processes
encryptedConnectionsBooleanTrue si les connexions client/serveur sont cryptées
externalPHPBooleanTrue si le client effectue un appel à PHP execute et utilise sa propre version de php
general.buildNumberNumberNuméro de build de l'application 4D
general.headlessBooleanTrue si l'application fonctionne en mode headless
general.isRosettaBooleanTrue si 4D est émulé par Rosetta sous macOS, False sinon (non émulé ou sous Windows).
general.licenseObjectNom commercial et description des licences des produits
general.uniqueIDTextID unique du serveur 4D
general.versionTextNuméro de version de l'application 4D
hasDataChangeTrackingBooleanTrue si une table "__DeletedRecords" existe
indexSegment.diskReadBytesNumberNombre d'octets lus dans le fichier d'index
indexSegment.diskReadCountNumberNombre de lectures dans le fichier d'index
indexSegment.diskWriteBytesNumberNombre d'octets écrits dans le fichier d'index
indexSegment.diskWriteCountNumberNombre d'écritures dans le fichier d'index
indexSizeNumberTaille des index en octets
isCompiledBooleanTrue si l'application est compilée
isEncryptedBooleanVrai si le fichier de données est chiffré
isEnginedBooleanTrue si l'application est fusionnée avec 4D Volume Desktop
isProjectModeBooleanTrue si l'application est un projet
LDAPLoginNumberNombre d'appels à la fonction LDAP LOGIN
license.sffPrimaryKeyNumberServer master product number
machine.CPUTextNom, type et vitesse du processeur
machine.memoryNumberTaille de la mémoire (en octets) disponible sur la machine
machine.numberOfCoresNumberNombre total de cœurs
machine.systemTextVersion du système d'exploitation et numéro de version
maximumNumberOfWebProcessesNumberNombre maximal de process web simultanés
maximumUsedPhysicalMemoryNumberUtilisation maximale de la mémoire physique
maximumUsedVirtualMemoryNumberUtilisation maximale de la mémoire virtuelle
mobileCollectionInformations sur les sessions mobiles
numberOfWebServicesNumberNombre de méthodes publiées en tant que Services Web
ODBCLoginNumberNombre d'appels à SQL LOGIN utilisant ODBC
phpCallNumberNombre d'appels à PHP execute
QueryBySQLNumberNombre d'appels à QUERY BY SQL
restServerObjectObject containing REST server information
restServer.bytesInNumberBytes received by the REST server
restServer.bytesOutNumberBytes sent by the REST server
restServer.hitsNumberNumber of hits on the REST server
restServer.executionTimeNumberCPU execution time for the REST WEB server
soapServerObjectObject containing SOAP server information
soapServer.bytesInNumberBytes received by the SOAP server
soapServer.bytesOutNumberBytes sent by the SOAP server
soapServer.hitsNumberNumber of hits on the SOAP server
soapServer.executionTimeNumberCPU execution time for the SOAP server
SQLBeginEndStatementNumberNombre d'utilisations de Begin SQL / End SQL
SQLLoginInternalNumberNombre d'appels à SQL LOGIN utilisant SQL_INTERNAL
sqlServerObjectObject containing SQL server information
sqlServer.hitsNumberNumber of SQL queries executed
sqlServer.bytesInNumberBytes received by the SQL engine
sqlServer.bytesOutNumberBytes sent by the SQL engine
sqlServer.executionTimeNumberCPU execution time for SQL queries
usingQUICNetworkLayerBooleanTrue si la base de données utilise la couche réseau QUIC
totalExecutionTimeNumberTotal CPU execution time: sum of all request types
totalRequestsNumberTotal requests: sum of web, REST, SOAP, SQL, and internal traffic
webServerObjectObject containing Web server information
webServer.bytesInNumberBytes received by the Web server
webServer.bytesOutNumberBytes sent by the Web server
webServer.hitsNumberNumber of hits on the Web server
webServer.executionTimeNumberCPU execution time for the Web server
webStaticServerObjectObject containing the static Web server information
webStaticServer.bytesInNumberBytes received by the static Web server
webStaticServer.bytesOutNumberBytes sent by the static Web server
webStaticServer.hitsNumberNumber of hits on the static Web server
webStaticServer.executionTimeNumberCPU execution time for the static Web server

Où sont-elles stockées et envoyées ?

Les données collectées sont écrites dans un fichier texte (format JSON) par base de données lorsque 4D Server quitte. Le fichier est stocké dans le dossier 4D actif, c'est-à-dire :

  • sous Windows : Users\[userName]\AppData\Roaming\4D Server
  • sous macOS : /Users/[userName]/Library/ApplicationSupport/4D Server

Une fois par semaine, le fichier est automatiquement envoyé par le réseau à 4D. Le fichier est ensuite supprimé du dossier 4D actif.

Si le fichier n'a pas pu être envoyé pour une raison quelconque, il est néanmoins supprimé et aucun message d'erreur n'est affiché côté 4D Server.

Le fichier est envoyé au serveur à l'adresse suivante : https://dcollector.4d.com (ip : 195.68.52.83).

Désactiver la collecte de données dans les applications client/serveur générées

Vous pouvez désactiver la collecte automatique de données dans les applications client/serveur générées.

Pour désactiver la collecte, passez la valeur False à la clé ServerDataCollection dans le fichier buildApp.4DSettings, utilisé pour construire l'application client/serveur.