Skip to content

Commit 57d0035

Browse files
committed
logs for debug gs for debug duplicated_claim_code
1 parent 53e236e commit 57d0035

3 files changed

Lines changed: 95 additions & 4 deletions

File tree

claimManagement/src/main/java/org/openimis/imisclaims/SynchronizeService.java

Lines changed: 69 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,14 @@
4040
import java.util.List;
4141
import java.util.Locale;
4242
import java.util.Objects;
43+
import java.util.UUID;
4344

4445
import io.sentry.Sentry;
4546

4647
public class SynchronizeService extends JobIntentService {
4748
private static final int JOB_ID = 6541259; //Random unique Job id
4849
private static final String LOG_TAG = "SYNCSERVICE";
50+
private static final String TRACE_TAG = "SYNC_TRACE";
4951

5052
private static final String ACTION_UPLOAD_CLAIMS = "SynchronizeService.ACTION_UPLOAD_CLAIMS";
5153
private static final String ACTION_EXPORT_CLAIMS = "SynchronizeService.ACTION_EXPORT_CLAIMS";
@@ -112,13 +114,31 @@ protected void onHandleWork(@NonNull Intent intent) {
112114
}
113115

114116
private void handleUploadClaims() {
117+
String syncSessionId = UUID.randomUUID().toString();
118+
long uploadStartTs = System.currentTimeMillis();
119+
String uploadThread = Thread.currentThread().getName() + ":" + Thread.currentThread().getId();
115120
if (!global.isNetworkAvailable()) {
121+
Log.i(TRACE_TAG, String.format(
122+
Locale.US,
123+
"SYNC_TRACE session=%s event=UPLOAD_ABORT_NO_NETWORK ts=%d thread=%s",
124+
syncSessionId, uploadStartTs, uploadThread
125+
));
116126
broadcastError(getResources().getString(R.string.CheckInternet), ACTION_UPLOAD_CLAIMS);
117127
return;
118128
}
119129

120130
JSONArray claimsArray = sqlHandler.getAllPendingClaims();
131+
Log.i(TRACE_TAG, String.format(
132+
Locale.US,
133+
"SYNC_TRACE session=%s event=UPLOAD_START ts=%d thread=%s pendingClaims=%d",
134+
syncSessionId, uploadStartTs, uploadThread, claimsArray.length()
135+
));
121136
if (claimsArray.length() < 1) {
137+
Log.i(TRACE_TAG, String.format(
138+
Locale.US,
139+
"SYNC_TRACE session=%s event=UPLOAD_ABORT_NO_CLAIM ts=%d thread=%s",
140+
syncSessionId, System.currentTimeMillis(), uploadThread
141+
));
122142
broadcastError(getResources().getString(R.string.NoClaim), ACTION_UPLOAD_CLAIMS);
123143
return;
124144
}
@@ -165,13 +185,32 @@ private void handleUploadClaims() {
165185
} else {
166186
//upload claim
167187
try {
188+
String claimUUID = sqlHandler.getClaimUUIDForCode(claim.getClaimNumber());
189+
long createStartTs = System.currentTimeMillis();
190+
Log.i(TRACE_TAG, String.format(
191+
Locale.US,
192+
"SYNC_TRACE session=%s event=CREATECLAIM_EXECUTE_START ts=%d thread=%s claimCode=%s claimUUID=%s insureeId=%d programId=%d",
193+
syncSessionId, createStartTs, uploadThread, claim.getClaimNumber(), claimUUID, insureeId, programId
194+
));
168195
Integer status = new CreateClaim().execute(claim, Integer.parseInt(adminId),Integer.parseInt(hfId),insureeId,programId, diagnosisId, programCode);
196+
Log.i(TRACE_TAG, String.format(
197+
Locale.US,
198+
"SYNC_TRACE session=%s event=CREATECLAIM_EXECUTE_END ts=%d thread=%s claimCode=%s claimUUID=%s status=%s durationMs=%d",
199+
syncSessionId, System.currentTimeMillis(), uploadThread, claim.getClaimNumber(), claimUUID,
200+
status == STATUS_ERROR ? "ERROR" : "SUCCESS",
201+
System.currentTimeMillis() - createStartTs
202+
));
169203
if(status == STATUS_ERROR){
170204
result = new PostNewClaims.Result(claim.getClaimNumber(), PostNewClaims.Result.Status.ERROR, getResources().getString(R.string.FailedToCreateClaim));
171205
}else{
172206
result = new PostNewClaims.Result(claim.getClaimNumber(), PostNewClaims.Result.Status.SUCCESS, null);
173207
}
174208
} catch (HttpException e){
209+
Log.i(TRACE_TAG, String.format(
210+
Locale.US,
211+
"SYNC_TRACE session=%s event=CREATECLAIM_EXECUTE_ERROR ts=%d thread=%s claimCode=%s errorClass=%s",
212+
syncSessionId, System.currentTimeMillis(), uploadThread, claim.getClaimNumber(), e.getClass().getSimpleName()
213+
));
175214
result = new PostNewClaims.Result(claim.getClaimNumber(), PostNewClaims.Result.Status.ERROR, getResources().getString(R.string.SomethingWentWrongServer));
176215
}
177216
results.add(result);
@@ -184,13 +223,32 @@ private void handleUploadClaims() {
184223
} else {
185224
//upload claim
186225
try {
226+
String claimUUID = sqlHandler.getClaimUUIDForCode(claim.getClaimNumber());
227+
long createStartTs = System.currentTimeMillis();
228+
Log.i(TRACE_TAG, String.format(
229+
Locale.US,
230+
"SYNC_TRACE session=%s event=CREATECLAIM_EXECUTE_START ts=%d thread=%s claimCode=%s claimUUID=%s insureeId=%d programId=%d",
231+
syncSessionId, createStartTs, uploadThread, claim.getClaimNumber(), claimUUID, insureeId, programId
232+
));
187233
Integer status = new CreateClaim().execute(claim, Integer.parseInt(adminId),Integer.parseInt(hfId),insureeId,programId, diagnosisId, programCode);
234+
Log.i(TRACE_TAG, String.format(
235+
Locale.US,
236+
"SYNC_TRACE session=%s event=CREATECLAIM_EXECUTE_END ts=%d thread=%s claimCode=%s claimUUID=%s status=%s durationMs=%d",
237+
syncSessionId, System.currentTimeMillis(), uploadThread, claim.getClaimNumber(), claimUUID,
238+
status == STATUS_ERROR ? "ERROR" : "SUCCESS",
239+
System.currentTimeMillis() - createStartTs
240+
));
188241
if(status == STATUS_ERROR){
189242
result = new PostNewClaims.Result(claim.getClaimNumber(), PostNewClaims.Result.Status.ERROR, getResources().getString(R.string.FailedToCreateClaim));
190243
}else{
191244
result = new PostNewClaims.Result(claim.getClaimNumber(), PostNewClaims.Result.Status.SUCCESS, null);
192245
}
193246
} catch (HttpException e){
247+
Log.i(TRACE_TAG, String.format(
248+
Locale.US,
249+
"SYNC_TRACE session=%s event=CREATECLAIM_EXECUTE_ERROR ts=%d thread=%s claimCode=%s errorClass=%s",
250+
syncSessionId, System.currentTimeMillis(), uploadThread, claim.getClaimNumber(), e.getClass().getSimpleName()
251+
));
194252
result = new PostNewClaims.Result(claim.getClaimNumber(), PostNewClaims.Result.Status.ERROR, getResources().getString(R.string.SomethingWentWrongServer));
195253
}
196254
results.add(result);
@@ -222,10 +280,20 @@ private void handleUploadClaims() {
222280
}
223281
}
224282
JSONArray claimStatus = processClaimResponse(results);
283+
Log.i(TRACE_TAG, String.format(
284+
Locale.US,
285+
"SYNC_TRACE session=%s event=UPLOAD_END ts=%d thread=%s durationMs=%d messagesCount=%d",
286+
syncSessionId, System.currentTimeMillis(), uploadThread, System.currentTimeMillis() - uploadStartTs, claimStatus.length()
287+
));
225288
broadcastSyncSuccess(claimStatus);
226289
} catch (Exception e) {
227290
e.printStackTrace();
228291
Sentry.captureException(e);
292+
Log.i(TRACE_TAG, String.format(
293+
Locale.US,
294+
"SYNC_TRACE session=%s event=UPLOAD_ERROR ts=%d thread=%s durationMs=%d errorClass=%s",
295+
syncSessionId, System.currentTimeMillis(), uploadThread, System.currentTimeMillis() - uploadStartTs, e.getClass().getSimpleName()
296+
));
229297
broadcastError(getResources().getString(R.string.ErrorOccurred) + ": " + e.getMessage(), ACTION_UPLOAD_CLAIMS);
230298
}
231299
}
@@ -531,4 +599,4 @@ private void broadcastClaimCount(int entered, int accepted, int rejected) {
531599
sendBroadcast(resultIntent);
532600
Log.i(LOG_TAG, String.format(Locale.US, "%s finished with %s, result: p: %d,a: %d,r: %d", ACTION_CLAIM_COUNT, ACTION_CLAIM_COUNT_RESULT, entered, accepted, rejected));
533601
}
534-
}
602+
}

claimManagement/src/main/java/org/openimis/imisclaims/network/request/CreateClaimGraphQLRequest.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
public class CreateClaimGraphQLRequest extends BaseGraphQLRequest{
3131

3232
private static final String URI = BuildConfig.API_BASE_URL + "api/graphql";
33+
private static final String TRACE_TAG = "SYNC_TRACE";
3334
public static final MediaType JSON = MediaType.get("application/json; charset=utf-8");
3435
protected Global global;
3536
private final Token token = Global.getGlobal().getJWTToken();
@@ -196,16 +197,26 @@ public boolean verify(String hostname, SSLSession session) {
196197
.post(body)
197198
.build();
198199

199-
200+
long httpStart = System.currentTimeMillis();
201+
String thread = Thread.currentThread().getName() + ":" + Thread.currentThread().getId();
202+
Log.i(TRACE_TAG, String.format(
203+
"SYNC_TRACE session=- event=CREATECLAIM_BEFORE_HTTP ts=%d thread=%s claimCode=%s cmid=%s",
204+
httpStart, thread, claim.getClaimNumber(), clientMutationId
205+
));
200206
Response response = httpClient.newCall(request).execute();
201207
int responseCode = response.code();
208+
long httpEnd = System.currentTimeMillis();
202209

203210
Log.i("HTTP_POST", URI + " - " + responseCode);
204211
Log.i("Claim", QUERY_DOCUMENT);
212+
Log.i(TRACE_TAG, String.format(
213+
"SYNC_TRACE session=- event=CREATECLAIM_AFTER_HTTP ts=%d thread=%s claimCode=%s cmid=%s httpCode=%d durationMs=%d",
214+
httpEnd, thread, claim.getClaimNumber(), clientMutationId, responseCode, httpEnd - httpStart
215+
));
205216

206217
String responsePhrase = response.body().string();
207218
Log.i("RESPONSE", String.format("response: %d %s", responseCode, responsePhrase));
208219

209220
return clientMutationId;
210221
}
211-
}
222+
}

claimManagement/src/main/java/org/openimis/imisclaims/usecase/CheckMutation.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@
77
import org.json.JSONObject;
88
import org.openimis.imisclaims.CheckMutationQuery;
99
import org.openimis.imisclaims.network.request.CheckMutationGraphQLRequest;
10+
import org.openimis.imisclaims.tools.Log;
1011

1112
import java.util.concurrent.TimeoutException;
1213

1314
public class CheckMutation {
1415

16+
private static final String TRACE_TAG = "SYNC_TRACE";
1517
private static final long DEFAULT_TIMEOUT = 600_000L;
1618
private static final long DEFAULT_DELAY = 1500L;
1719
private static final int STATUS_RECEIVED = 0;
@@ -39,6 +41,11 @@ public CheckMutation(long timeOutMs, long delayMs, @NonNull CheckMutationGraphQL
3941
@WorkerThread
4042
public Integer execute(@NonNull String uuid, @NonNull String message) throws Exception {
4143
long start = System.currentTimeMillis();
44+
String thread = Thread.currentThread().getName() + ":" + Thread.currentThread().getId();
45+
Log.i(TRACE_TAG, String.format(
46+
"SYNC_TRACE session=- event=CHECKMUTATION_START ts=%d thread=%s cmid=%s",
47+
start, thread, uuid
48+
));
4249
CheckMutationQuery.Node node = null;
4350
Integer status;
4451
do {
@@ -52,6 +59,11 @@ public Integer execute(@NonNull String uuid, @NonNull String message) throws Exc
5259
}
5360
} while (status == null || status == STATUS_RECEIVED);
5461

62+
Log.i(TRACE_TAG, String.format(
63+
"SYNC_TRACE session=- event=CHECKMUTATION_DONE ts=%d thread=%s cmid=%s status=%s durationMs=%d",
64+
System.currentTimeMillis(), thread, uuid, String.valueOf(status), System.currentTimeMillis() - start
65+
));
66+
5567
if (status == STATUS_ERROR) {
5668
throw new IllegalStateException(message + ":\n" + getErrorDetail(node.error()));
5769
}
@@ -79,4 +91,4 @@ private String getErrorDetail(String error) {
7991
}
8092
return error;
8193
}
82-
}
94+
}

0 commit comments

Comments
 (0)