From c09b0c91edd49a4561b07d1acfe39141ea3c5f01 Mon Sep 17 00:00:00 2001 From: Matthias Hochrieser Date: Thu, 15 Dec 2022 08:43:16 +0100 Subject: [PATCH] Pull request #191: RUM-7455 Raise Version to 3.0 Merge in OP/openkit-native from feature/RUM-7455-raise-version-to-3.0 to main * commit 'e1aa527f7f3dc20d9863c1e3f5daa958fd74bed7': RUM-7455 Changing Supported Versions RUM-7455 Applied version update to other files RUM-7455 Raise Version to 3.0 GitOrigin-RevId: 36e29080cfa4d855f113b937a233d6bb3c572ba9 --- CHANGELOG.md | 5 +- IAction.h | 175 ------------------------------- appveyor.yml | 2 +- docs/example.md | 8 +- docs/supported_versions.md | 7 +- src/protocol/ProtocolConstants.h | 2 +- version.properties | 2 +- 7 files changed, 15 insertions(+), 186 deletions(-) delete mode 100644 IAction.h diff --git a/CHANGELOG.md b/CHANGELOG.md index 71b2df9e..930bb640 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ # OpenKit Native ( C/C++ ) Changelog -## [Unreleased](https://github.com/Dynatrace/openkit-native/compare/v2.1.0...HEAD) +## [Unreleased](https://github.com/Dynatrace/openkit-native/compare/v3.0.0...HEAD) + +## 3.0.0 [Release date: 2022-12-07] +[GitHub Releases](https://github.com/Dynatrace/openkit-native/releases/tag/v3.0.0) ### Added - User-Agent header for http requests diff --git a/IAction.h b/IAction.h deleted file mode 100644 index 2c932232..00000000 --- a/IAction.h +++ /dev/null @@ -1,175 +0,0 @@ -/** - * Copyright 2018-2021 Dynatrace LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef _OPENKIT_IACTION_H -#define _OPENKIT_IACTION_H - -#include "OpenKit/OpenKitExports.h" - -#include -#include -#include - -namespace openkit -{ - class OPENKIT_EXPORT IRootAction; - class OPENKIT_EXPORT IWebRequestTracer; - - /// - /// This interface provides functionality to report events/values/errors and traces web requests. - /// - class OPENKIT_EXPORT IAction - { - public: - /// - /// Destructor - /// - virtual ~IAction() {} - - /// - /// Reports an event with a specified name (but without any value). - /// - /// If given @c eventName is @c nullptr then no event is reported to the system. - /// - /// @param eventName name of the event - /// @return this Action (for usage as fluent API) - /// - virtual std::shared_ptr reportEvent(const char* eventName) = 0; - - /// - /// Reports a 32-bit int value with a specified name. - /// - /// @param valueName name of this value - /// @param value value itself - /// @return this Action (for usage as fluent API) - /// - virtual std::shared_ptr reportValue(const char* valueName, int32_t value) = 0; - - /// - /// Reports a 64-bit int value with a specified name. - /// - /// @param valueName name of this value - /// @param value value itself - /// @return this Action (for usage as fluent API) - /// - virtual std::shared_ptr reportValue(const char* valueName, int64_t value) = 0; - - /// - /// Reports a double value with a specified name. - /// - /// @param valueName name of this value - /// @param value value itself - /// @return this Action (for usage as fluent API) - /// - virtual std::shared_ptr reportValue(const char* valueName, double value) = 0; - - /// - /// Reports a String value with a specified name. - /// - /// @param valueName name of this value - /// @param value value itself - /// @return this Action (for usage as fluent API) - /// - virtual std::shared_ptr reportValue(const char* valueName, const char* value) = 0; - - /// - /// Reports an error with a specified name, error code and reason. - /// - /// @param errorName name of this error - /// @param errorCode numeric error code of this error - /// @param reason reason for this error - /// @return this Action (for usage as fluent API) - /// @deprecated since 2.1.0 use IAction::reportError(const char*, int32_t) instead, since reason is unhandled - /// - OPENKIT_DEPRECATED - virtual std::shared_ptr reportError(const char* errorName, int32_t errorCode, const char* reason) = 0; - - /// - /// Reports an error with a specified name and error code. - /// - /// @param errorName name of this error - /// @param errorCode numeric error code of this error - /// @return this Action (for usage as fluent API) - /// - virtual std::shared_ptr reportError(const char* errorName, int32_t errorCode) = 0; - - /// - /// Reports an error with a specified name and parameters describing the cause of this error. - /// - /// @par - /// If given @c errorName is @c nullptr or an empty string, no error is reported. - /// If the @c causeDescription is longer than 1000 characters, it is truncated to this value. - /// If the @c causeStackTrace is longer than 128.000 characters, it is truncated according to the last line break. - /// - /// @param errorName name of this error - /// @param causeName name describing the cause of the error (e.g. exception class name) - /// @param causeDescription description what caused the eror (e.g. exception message) - /// @param causeStackTrace stack trace of the error - /// @return this Action (for usage as fluent API) - /// - virtual std::shared_ptr reportError( - const char* errorName, - const char* causeName, - const char* causeDescription, - const char* causeStackTrace - ) = 0; - - /// - /// Allows tracing and timing of a web request handled by any 3rd party HTTP Client (e.g. CURL, EasyHttp, ...). - /// In this case the Dynatrace HTTP header (@ref openkit::OpenKitConstants::WEBREQUEST_TAG_HEADER) has to be set manually to the - /// tag value of this WebRequestTracer.
- /// If the web request is continued on a server-side Agent (e.g. Java, .NET, ...) this Session will be correlated to - /// the resulting server-side PurePath. - /// - /// @param url the URL of the web request to be tagged and timed - /// @return a WebRequestTracer which allows getting the tag value and adding timing information - /// - virtual std::shared_ptr traceWebRequest(const char* url) = 0; - - /// - /// Leaves this IAction. - /// - /// @returns the parent IRootAction. - /// - virtual std::shared_ptr leaveAction() = 0; - - /// - /// Cancels this IAction. - /// - /// @par - /// Canceling an IAction is similar to IAction::leaveAction(), except - /// that the data and all unfinished child objects are discarded - /// instead of being sent. - /// - /// @returns the parent IRootAction. - /// - virtual std::shared_ptr cancelAction() = 0; - - /// - /// Get the duration of this IAction. - /// - /// @par - /// The duration of an IAction is equal to current timestamp - start timestamp - /// if the action is still open, or end timestamp - start timestamp, if - /// IAction::leaveAction() or IAction::cancelAction() was already called. - /// - /// @return The duration of this IAction in milliseconds - /// - virtual std::chrono::milliseconds getDuration() = 0; - }; -} - -#endif diff --git a/appveyor.yml b/appveyor.yml index 959c6e54..c77946df 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: 2.2.0.{build} +version: 3.0.0.{build} # Build with Visual Studio 2017 image: Visual Studio 2017 diff --git a/docs/example.md b/docs/example.md index 33f030ee..c5fdfe21 100644 --- a/docs/example.md +++ b/docs/example.md @@ -61,8 +61,8 @@ This includes device specific information like operating system, manufacturer, o | Method Name | Description | Default Value | | ------------- | ------------- | ---------- | -| `withApplicationVersion` | sets the application version | `"2.2.0"` | -| `withOperatingSystem` | sets the operating system name | `"OpenKit 2.2.0"` | +| `withApplicationVersion` | sets the application version | `"3.0.0"` | +| `withOperatingSystem` | sets the operating system name | `"OpenKit 3.0.0"` | | `withManufacturer` | sets the manufacturer | `"Dynatrace"` | | `withModelID` | sets the model id | `"OpenKitDevice"` | | `withBeaconCacheMaxRecordAge` | sets the maximum age of an entry in the beacon cache in milliseconds | 45 min | @@ -81,8 +81,8 @@ When using the OpenKit C API, additional configuration can applied to the config | Parameter Name | Description | Default Value | | ------------- | ------------- | ---------- | -| `useApplicationVersionForConfiguration` | sets the application version | `"2.2.0"` is used when argument is `NULL` | -| `useOperatingSystemForConfiguration` | sets the operating system name | `"OpenKit 2.2.0"` is used when argument is `NULL` | +| `useApplicationVersionForConfiguration` | sets the application version | `"3.0.0"` is used when argument is `NULL` | +| `useOperatingSystemForConfiguration` | sets the operating system name | `"OpenKit 3.0.0"` is used when argument is `NULL` | | `useManufacturerForConfiguration` | sets the manufacturer | `"Dynatrace"` is used when argument is `NULL` | | `useModelIDForConfiguration` | sets the model id | `"OpenKitDevice"` is used when argument is `NULL` | | `useBeaconCacheBehaviorForConfiguration` | sets caching behavior for the beacon cache | 45 min retention, 80 MB lower memory boundary, 100 MB upper memory boundary | diff --git a/docs/supported_versions.md b/docs/supported_versions.md index e04a2a9a..7bb1712c 100644 --- a/docs/supported_versions.md +++ b/docs/supported_versions.md @@ -9,10 +9,11 @@ Example: Version `1.1.7` supersedes `1.1.6` and therefore only `1.1.7` will be m ## Active maintenance | Version | Bug fixes | Security fixes | Remarks | |---------|:------------------:|:------------------:|------------------| +| 3.0.X | :heavy_check_mark: | :heavy_check_mark: | | | 2.1.X | :heavy_check_mark: | :heavy_check_mark: | | -| 2.0.X | :heavy_check_mark: | :heavy_check_mark: | | -| 1.1.X | :heavy_check_mark: | :heavy_check_mark: | | -| 1.0.X | :x: | :x: | Upgrade to 1.1.X | +| 2.0.X | :x: | :x: | Upgrade to 2.1.X | +| 1.1.X | :x: | :x: | Upgrade to 2.1.X | +| 1.0.X | :x: | :x: | Upgrade to 2.1.X | [semver]: https://semver.org/ \ No newline at end of file diff --git a/src/protocol/ProtocolConstants.h b/src/protocol/ProtocolConstants.h index 5e666a27..a74682e6 100644 --- a/src/protocol/ProtocolConstants.h +++ b/src/protocol/ProtocolConstants.h @@ -34,7 +34,7 @@ namespace protocol constexpr const char* QUERY_KEY_SESSION_IDENTIFIER = "si"; // constant query parameter values - constexpr const char* OPENKIT_VERSION = "8.229.20200"; + constexpr const char* OPENKIT_VERSION = "8.257.30000"; constexpr const char* PLATFORM_TYPE_OPENKIT = "1"; constexpr const char* AGENT_TECHNOLOGY_TYPE = "okc"; constexpr int32_t PROTOCOL_VERSION = 3; diff --git a/version.properties b/version.properties index 46de778a..317fe995 100644 --- a/version.properties +++ b/version.properties @@ -1 +1 @@ -version=2.2.0 \ No newline at end of file +version=3.0.0 \ No newline at end of file