Внедрение инструментов мониторинга в ваше приложение с помощью Ключ-АСТРОМ OpenKit
Данные мониторинга, передаваемые через Ключ-АСТРОМ OpenKit, инкапсулируются в сущность, представляющую ваше приложение, и называются пользовательским приложением. Поэтому для мониторинга вашего приложения вам необходимо определить и инструментировать пользовательское приложение, следуя приведенным ниже инструкциям.
Создание и внедрение инструментария в приложение
Чтобы создать пользовательское приложение в Ключ-АСТРОМ и внедрить в него необходимые инструменты:
- В Ключ-АСТРОМ перейдите в раздел Пользовательские приложения.
- Выберите Создать пользовательское приложение.
- Введите название для вашего пользовательского приложения и выберите значок для визуального представления вашего приложения в веб-интерфейсе Ключ-АСТРОМ.
- Выберите Мониторинг пользовательского приложения. Откроется страница настроек вашего пользовательского приложения.
- В настройках приложения выберите Мастер инструментирования, а затем выберите свою технологию, чтобы загрузить последнюю версию библиотеки OpenKit.
- Используйте загруженную библиотеку, а также URL-адрес и идентификатор приложения, предоставленные в мастере инструментирования, чтобы инструментировать ваше приложение.
НеобязательноВ мастере инструментирования выберите пункт Просмотр входящих сигналов, чтобы отображать входящие сигналы по мере их поступления с задержкой всего в несколько секунд. Этот режим просмотра также предоставляет информацию о потенциальных проблемах.
Ниже приведён простой пример, демонстрирующий, как использовать Ключ-АСТРОМ OpenKit для отправки данных мониторинга в Ключ-АСТРОМ. Для получения более подробной информации см. раздел Методы API Ключ-АСТРОМ OpenKit.
| Java |
|---|
| // Obtain an OpenKit instance
String applicationID = "application-id"; // Your application's ID long deviceID = 42; // Replace with a unique value per device/installation String endpointURL = "https://tenantid.beaconurl.com/mbeacon"; // astromkey endpoint URL OpenKit openKit = new astromkeyOpenKitBuilder(endpointURL, applicationID, deviceID) .withApplicationVersion("1.0.0.0") .withOperatingSystem("Windows 10") .withManufacturer("MyCompany") .withModelID("MyModelID") .build(); // Wait up to 10 seconds for OpenKit to complete initialization long timeoutInMilliseconds = 10 * 1000; boolean success = openKit.waitForInitCompletion(timeoutInMilliseconds); // Create session String clientIP = "8.8.8.8"; Session session = openKit.createSession(clientIP); // Identify user session.identifyUser("jane.doe@example.com"); // Create root and child actions String rootActionName = "rootActionName"; RootAction rootAction = session.enterAction(rootActionName); String childActionName = "childAction"; Action childAction = rootAction.enterAction(childActionName); // Leave action childAction.leaveAction(); rootAction.leaveAction(); // Finish session session.end(); // Terminate OpenKit instance openKit.shutdown(); |
| .NET |
|---|
| // Obtain an OpenKit instance
string applicationID = "application-id"; // Your application's ID long deviceID = 42L; // Replace with a unique value per device/installation string endpointURL = "https://tenantid.beaconurl.com/mbeacon"; // astromkey endpoint URL IOpenKit openKit = new astromkeyOpenKitBuilder(endpointURL, applicationID, deviceID) .WithApplicationVersion("1.0.0.0") .WithOperatingSystem("Windows 10") .WithManufacturer("MyCompany") .WithModelID("MyModelID") .Build(); // Wait up to 10 seconds for OpenKit to complete initialization int timeoutInMilliseconds = 10 * 1000; bool success = openKit.WaitForInitCompletion(timeoutInMilliseconds); // Create session string clientIP = "8.8.8.8"; ISession session = openKit.CreateSession(clientIP); // Identify user session.IdentifyUser("jane.doe@example.com"); // Create root and child actions string rootActionName = "rootActionName"; IRootAction rootAction = session.EnterAction(rootActionName); string childActionName = "childAction"; IAction childAction = rootAction.EnterAction(childActionName); // Leave action childAction.LeaveAction(); rootAction.LeaveAction(); // Finish session session.End(); // Terminate OpenKit instance openKit.ShutDown(); |
| C++ |
|---|
| // Obtain an OpenKit instance
const char* applicationID = "application-id"; // Your application's ID int64_t deviceID = 42; // Replace with a unique value per device/installation const char* endpointURL = "https://tenantid.beaconurl.com/mbeacon"; // astromkey endpoint URL std::shared_pointer<openkit::IOpenKit> openKit = openkit::astromkeyOpenKitBuilder(endpointURL, applicationID, deviceID) .withApplicationVersion("1.0.0.0") .withOperatingSystem("Windows 10") .withManufacturer("MyCompany") .withModelID("MyModelID") .build(); // Wait up to 10 seconds for OpenKit to complete initialization int64_t timeoutInMilliseconds = 10 * 1000; bool success = openKit->waitForInitCompletion(timeoutInMilliseconds); // Create session const char* clientIP = "8.8.8.8"; std::shared_ptr<openkit::ISession> session = openKit->createSession(clientIP); // Identify user session->identifyUser("jane.doe@example.com"); // Create root and child actions const char* rootActionName = "rootActionName"; std::shared_ptr<IRootAction> rootAction = session->enterAction(rootActionName); const char* childActionName = "childAction"; std::shared_ptr<IRootAction> childAction = rootAction->enterAction(childActionName); // Leave action childAction->leaveAction(); rootAction->leaveAction(); // Finish session session->end(); // Terminate OpenKit instance openKit->shutdown(); |
| C |
|---|
| // Obtain an OpenKit instance
const char* applicationID = "application-id"; // Your application's ID int64_t deviceID = 42; // Replace with a unique value per device/installation const char* endpointURL = "https://tenantid.beaconurl.com/mbeacon"; // astromkey endpoint URL struct OpenKitConfigurationHandle* configurationHandle = createOpenKitConfiguration(endpointURL, applicationID, deviceID); useApplicationVersionForConfiguration(configurationHandle, "1.0.0.0"); useOperatingSystemForConfiguration(configurationHandle, "Windows 10"); useManufacturerForConfiguration(configurationHandle, "MyCompany"); useModelIDForConfiguration(configurationHandle, "MyModelID"); struct OpenKitHandle* openKit = createastromkeyOpenKit(configurationHandle); // Wait up to 10 seconds for OpenKit to complete initialization int64_t timeoutInMilliseconds = 10 * 1000; bool success = waitForInitCompletionWithTimeout(openKit, timeoutInMilliseconds); // Create session const char* clientIP = "8.8.8.8"; struct SessionHandle* session = createSession(openKit, clientIP); // Identify user identifyUser(session, "jane.doe@example.com"); // Create root and child actions const char* rootActionName = "rootActionName"; struct RootActionHandle* rootAction = enterRootAction(session, rootActionName); const char* childActionName = "childAction"; struct ActionHandle* childAction = enterAction(rootAction, childActionName); // Leave action leaveAction(childAction); leaveRootAction(rootAction); // Finish session endSession(session); // Terminate OpenKit instance shutdownOpenKit(openKit); |
| JavaScript |
|---|
| // Obtain an OpenKit instance
const endpointURL: string = 'https://tenantid.beaconurl.com/mbeacon'; // astromkey endpoint URL const applicationID: string = 'application-id'; // Your application's ID const deviceID: number = 42; // Replace with a unique value per device/installation const openkit = new OpenKitBuilder(endpointURL, applicationID, deviceID) .withApplicationVersion('1.0.0.0') .withOperatingSystem("Windows 10") .withManufacturer("MyCompany") .withModelID("MyModelID") .build(); const timeoutInMilliseconds = 10 * 1000; openKit.waitForInit((success) => { if (success) { // Create session const clientIP = '8.8.8.8'; const session: Session = openkit.createSession(clientIP); // Identify user session.identifyUser('jane.doe@example.com'); // Create root and child actions string rootActionName = 'rootActionName'; const rootAction = session.enterAction(rootActionName); string childActionName = 'childAction'; const childAction = rootAction.enterAction(childActionName); // Leave action childAction.leaveAction(); rootAction.leaveAction(); // Finish session session.end(); // Terminate OpenKit instance openkit.shutdown(); } }, timeoutInMilliseconds); |
Идентификатор приложения и URL-адрес конечной точки можно найти в мастере инструментирования (в настройках приложения выберите «Мастер инструментирования»).
Для пользовательских приложений идентификация пользователя осуществляется путем передачи параметра deviceID, который должен быть уникальным для каждого пользователя или устройства. Затем параметр deviceID помечается как внутренний идентификатор пользователя в веб-интерфейсе Ключ-АСТРОМ.