Skip to content

Commit

Permalink
Add more logs (#284)
Browse files Browse the repository at this point in the history
* add more logs

* tweak

* bump version

* update changelog

* add EventName

* verbose

* dispatcher

* tweak

* tweak

* request

* fix lint

* add visitor id

* refactoring

* visitor_id
  • Loading branch information
nkmrh authored Sep 9, 2024
1 parent 60cc6e2 commit 3b0557b
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 6 deletions.
15 changes: 9 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
# Latest Version

| モジュール/プラグイン名 | Description | 最新のバージョン |
| :-- | :-- |:---------|
| core | イベントトラッキング機能を提供します。 | 2.25.0 |
| :-- | :-- | :-- |
| core | イベントトラッキング機能を提供します。 | 2.25.1 |
| inappmessaging | アプリ内メッセージ機能を提供します。 | 2.20.0 |
| notifications | プッシュ通知の受信および効果測定機能を提供します。 | 2.11.0 |
| variables | 設定値配信機能を提供します。 | 2.7.0 |
| visualtracking | ビジュアルトラッキング機能を提供します。| 2.9.0 |
| Karte Gradle Plugin | ビジュアルトラッキング機能に必要なプラグインです。| 2.5.1 |
| notifications | プッシュ通知の受信および効果測定機能を提供します。 | 2.11.0 |
| variables | 設定値配信機能を提供します。 | 2.7.0 |
| visualtracking | ビジュアルトラッキング機能を提供します。| 2.9.0 |
| Karte Gradle Plugin | ビジュアルトラッキング機能に必要なプラグインです。| 2.5.1 |

# Releases - xxxx.xx.xx

### Core 2.25.1
** 🔨FIXED **
- 古い関数の修正を行いました

** 🔨CHANGED**
- イベント送信のログにイベント内容を付与しました。

# Releases - 2024.08.21

### InAppMessaging 2.20.0
Expand Down
33 changes: 33 additions & 0 deletions core/src/main/java/io/karte/android/tracking/queue/Dispatcher.kt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ import io.karte.android.KarteApp
import io.karte.android.core.library.ActionModule
import io.karte.android.core.library.TrackModule
import io.karte.android.core.logger.Logger
import io.karte.android.tracking.BaseEventName
import io.karte.android.tracking.EventValidator
import io.karte.android.tracking.MessageEventName
import io.karte.android.tracking.TrackCompletion
import io.karte.android.tracking.client.TrackResponse
import io.karte.android.tracking.client.requestOf
Expand All @@ -32,6 +34,7 @@ import io.karte.android.utilities.connectivity.retryIntervalMs
import io.karte.android.utilities.datastore.DataStore
import io.karte.android.utilities.datastore.RelationalOperator
import io.karte.android.utilities.http.Client
import java.util.UUID
import kotlin.math.min

private const val LOG_TAG = "Karte.Dispatcher"
Expand Down Expand Up @@ -164,6 +167,8 @@ internal class Dispatcher {
}

private fun request(key: GroupingKey, events: List<EventRecord>) {
logRequestEvents(UUID.randomUUID(), events)

rateLimit.increment(events.size)
val (visitorId, originalPvId, pvId) = key
var request = requestOf(
Expand Down Expand Up @@ -207,6 +212,34 @@ internal class Dispatcher {
rateLimit.decrementWithDelay(events.size, ::dequeue)
}

private fun logRequestEvents(requestId: UUID, events: List<EventRecord>) {
events.forEach {
val eventRecordId = it.recordId
val visitorId = it.visitorId
val eventName = it.event.eventName.value
Logger.v(LOG_TAG, "request event request_id=$requestId event_record_id=$eventRecordId visitor_id=$visitorId event_name=$eventName ${it.event.values}")

when (eventName) {
BaseEventName.View.value -> {
val viewName = it.event.values.getString("view_name")
val title = it.event.values.getString("title")
Logger.i(LOG_TAG, "request event request_id=$requestId event_record_id=$eventRecordId visitor_id=$visitorId view_name=$viewName title=$title")
}
MessageEventName.MessageOpen.value,
MessageEventName.MessageSuppressed.value,
MessageEventName.MessageReady.value,
MessageEventName.MessageClick.value,
MessageEventName.MessageClose.value -> {
val message = it.event.values.getJSONObject("message")
val campaignId = message.getString("campaign_id")
val shortenId = message.getString("shorten_id")
Logger.i(LOG_TAG, "request event request_id=$requestId event_record_id=$eventRecordId visitor_id=$visitorId campaign_id=$campaignId shorten_id=$shortenId")
}
else -> {}
}
}
}

private fun removeFromQueue(events: List<EventRecord>, isSuccessful: Boolean) {
events.forEach {
DataStore.delete(it)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,10 @@ import android.database.Cursor
import io.karte.android.tracking.Event
import io.karte.android.utilities.datastore.Contract
import io.karte.android.utilities.datastore.Persistable
import java.util.UUID

internal class EventRecord() : Persistable() {
val recordId: UUID get() = UUID.randomUUID()
val visitorId: String get() = values[EventContract.VISITOR_ID] as String
val originalPvId: String get() = values[EventContract.ORIGINAL_PV_ID] as String
val pvId: String get() = values[EventContract.PV_ID] as String
Expand Down

0 comments on commit 3b0557b

Please sign in to comment.