signalfx / gdi-specification

Splunk GDI specification for cross-repository compatibility
Apache License 2.0
3 stars 15 forks source link

GA splunk-otel-ios #255

Open dvernon-splunk opened 1 year ago

dvernon-splunk commented 1 year ago

Which GDI repository do you wish to GA?

splunk-otel-ios https://github.com/signalfx/splunk-otel-ios

Does the repository follow the latest tagged minor release in GDI specification?

How long has the GDI repository been public?

Two years

Is the repository known to be used today?

yes

Is there a date by which this approval is needed?**

No

Additional context

None

dvernon-splunk commented 1 year ago

@pellared this repo is ready for review

Kielek commented 1 year ago

@dvernon-splunk, I have removed all checkboxes from the description + updated links to 1.6.0. I will go through verification shortly.

Kielek commented 1 year ago
Kielek commented 1 year ago

Fixed by: https://github.com/signalfx/splunk-otel-ios/pull/174

Kielek commented 1 year ago

[x] GitHub Applications set up per spec.

It is technically fine, but repository is not using CodeCov.

Kielek commented 1 year ago

For

Dependencies

dvernon-splunk commented 1 year ago

We only have one dependency, Swifter, which is found in the Package.resolved file https://github.com/signalfx/splunk-otel-ios/blob/a9e464d31bb72398e9953f2b9bf708f087f52d95/SplunkRumWorkspace/SplunkRumWorkspace.xcworkspace/xcshareddata/swiftpm/Package.resolved#L6 It is locked to 1.5.0

Kielek commented 1 year ago
Kielek commented 1 year ago

Do you have a plan to GA also: https://github.com/signalfx/splunk-otel-ios-crashreporting ? If so, I think that separate GA request is needed.

Kielek commented 1 year ago

Based on https://docs.splunk.com/observability/en/gdi/get-data-in/rum/ios/configure-rum-ios-instrumentation.html and https://github.com/signalfx/gdi-specification/blob/v1.6.0/specification/configuration.md#real-user-monitoring-libraries You should change a lot of configuration names:

There is a chance that I have missed something while code review, but additional things are required: Please confirm that it is fine/fix issues:

[1] Application name, authentication token and either realm or the beacon URL MUST be provided by the user. If any of these is missing, the RUM instrumentation library MUST fail to start.
[2] Systems that allow implementations to enforce the beaconEndpoint value is https (i.e. not Android) MUST do so. These implementations need to reject/fail to start if this condition is not meet. Implementations MAY offer an unrecommended allowInsecureBeacon option (default false) that turns off the check.
[3] If both realm and beaconEndpoint are set, a warning saying that realm will be ignored SHOULD be logged.

Based on https://github.com/signalfx/gdi-specification/pull/275 (will be part of 1.7.0 GDI) you should change also. Technically you can release based on 1.6.0 but, it will introduce much more issues that fixing it before 1.0.0.

Other

  1. allowInsecureBeacon - consider to drop this - per Implementations MAY offer an unrecommended allowInsecureBeacon option (default false) that turns off the check.. Not a hard requierment
  2. spanFilter required definition on GDI-spec https://github.com/signalfx/gdi-specification/issues/278
  3. ignoreURLs seems to duplicates spanFilter functionality
  4. sessionSamplingRatio required definiton on GDI spec https://github.com/signalfx/gdi-specification/issues/279
  5. bspScheduleDelay Seems to be unique to ios.
  6. slowRenderingDetectionEnabled and slowFrameDetectionThresholdMs and frozenFrameDetectionThresholdMs - required gdi spec definition https://github.com/signalfx/gdi-specification/issues/280 - keep in mind that android defines only 2 options (frozenFrameDetectionThresholdMs can be dropped?)
  7. debug - required gdi-spec changes: https://github.com/signalfx/gdi-specification/issues/281
  8. showVCInstrumentation, screenNameSpans, networkInstrumentation seems to be ios specific
Kielek commented 1 year ago

rum section seems to be fine/

Kielek commented 1 year ago
dvernon-splunk commented 1 year ago

Do you have a plan to GA also: https://github.com/signalfx/splunk-otel-ios-crashreporting ? If so, I think that separate GA request is needed.

Eventually, but not at this time