a.smali
.class public final Lsg/bigo/apm/plugins/memoryinfo/b/a;
.super Lsg/bigo/apm/plugins/memoryinfo/b/e;
.source "SourceFile"
# instance fields
.field private final criticalType:I
.field private final map:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private final memoryInfo:Lsg/bigo/apm/plugins/memoryinfo/b/d;
.field private final oom:Ljava/lang/OutOfMemoryError;
# direct methods
.method public constructor <init>(ILsg/bigo/apm/plugins/memoryinfo/b/d;Ljava/lang/OutOfMemoryError;)V
.registers 26
move-object/from16 v0, p0
move-object/from16 v1, p2
const-string v2, "memoryInfo"
invoke-static {v1, v2}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v2, 0x1
const-string v3, "CriticalMemoryInfo"
const/4 v4, 0x0
.line 57
invoke-direct {v0, v2, v3, v4}, Lsg/bigo/apm/plugins/memoryinfo/b/e;-><init>(ILjava/lang/String;Lkotlin/f/b/j;)V
move/from16 v3, p1
iput v3, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->criticalType:I
iput-object v1, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->memoryInfo:Lsg/bigo/apm/plugins/memoryinfo/b/d;
move-object/from16 v1, p3
iput-object v1, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->oom:Ljava/lang/OutOfMemoryError;
.line 59
invoke-virtual/range {p0 .. p0}, Lsg/bigo/apm/plugins/memoryinfo/b/a;->a()Ljava/util/Map;
move-result-object v1
.line 60
sget-object v3, Lsg/bigo/apm/plugins/memoryinfo/c/c;->a:Lsg/bigo/apm/plugins/memoryinfo/c/c;
const/4 v3, -0x1
.line 1107
invoke-static {v3}, Lsg/bigo/apm/plugins/memoryinfo/c/c;->a(I)Ljava/util/List;
move-result-object v3
.line 60
invoke-virtual {v3}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v3
const-string v4, "pages"
invoke-interface {v1, v4, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 61
iget v3, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->criticalType:I
invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v3
const-string v4, "critical"
invoke-interface {v1, v4, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 65
iget v3, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->criticalType:I
if-ne v3, v2, :cond_47
iget-object v3, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->oom:Ljava/lang/OutOfMemoryError;
if-eqz v3, :cond_4f
.line 63
invoke-static {v3}, Lsg/bigo/apm/plugins/memoryinfo/c/b;->a(Ljava/lang/OutOfMemoryError;)I
move-result v3
if-nez v3, :cond_4f
:cond_47
iget v3, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->criticalType:I
const/4 v4, 0x3
if-eq v3, v4, :cond_4f
const/4 v4, 0x4
if-ne v3, v4, :cond_12d
.line 131
:cond_4f
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v3
.line 67
sget-object v5, Lsg/bigo/apm/plugins/memoryinfo/c/a;->b:Lsg/bigo/apm/plugins/memoryinfo/c/a;
invoke-static {}, Lsg/bigo/apm/plugins/memoryinfo/c/a;->h()I
move-result v5
invoke-static {v5}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v5
const-string v6, "max_fd"
invoke-interface {v1, v6, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 68
sget-object v5, Lsg/bigo/apm/plugins/memoryinfo/c/a;->b:Lsg/bigo/apm/plugins/memoryinfo/c/a;
invoke-static {}, Lsg/bigo/apm/plugins/memoryinfo/c/a;->d()Ljava/lang/String;
move-result-object v5
const-string v6, "fd_links"
invoke-interface {v1, v6, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 69
sget-object v5, Lsg/bigo/apm/plugins/memoryinfo/c/a;->b:Lsg/bigo/apm/plugins/memoryinfo/c/a;
invoke-static {}, Lsg/bigo/apm/plugins/memoryinfo/c/a;->g()I
move-result v5
invoke-static {v5}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v5
const-string v6, "max_thread"
invoke-interface {v1, v6, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 70
sget-object v5, Lsg/bigo/apm/plugins/memoryinfo/c/a;->b:Lsg/bigo/apm/plugins/memoryinfo/c/a;
invoke-static {}, Lsg/bigo/apm/plugins/memoryinfo/c/a;->f()[Ljava/lang/Thread;
move-result-object v5
.line 132
array-length v6, v5
if-le v6, v2, :cond_8f
new-instance v6, Lsg/bigo/apm/plugins/memoryinfo/b/a$a;
invoke-direct {v6}, Lsg/bigo/apm/plugins/memoryinfo/b/a$a;-><init>()V
check-cast v6, Ljava/util/Comparator;
invoke-static {v5, v6}, Lkotlin/a/e;->a([Ljava/lang/Object;Ljava/util/Comparator;)V
:cond_8f
const-string v13, ","
.line 72
move-object v7, v13
check-cast v7, Ljava/lang/CharSequence;
const/4 v8, 0x0
const/4 v9, 0x0
const/4 v10, 0x0
const/4 v11, 0x0
const/16 v12, 0x3e
move-object v6, v5
invoke-static/range {v6 .. v12}, Lkotlin/a/e;->a([Ljava/lang/Object;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ILjava/lang/CharSequence;I)Ljava/lang/String;
move-result-object v6
const-string v7, "thread_list"
invoke-interface {v1, v7, v6}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 73
invoke-static {v5}, Lsg/bigo/apm/plugins/memoryinfo/c/b;->a([Ljava/lang/Thread;)Ljava/util/List;
move-result-object v5
.line 74
move-object v6, v5
check-cast v6, Ljava/util/Collection;
invoke-interface {v6}, Ljava/util/Collection;->isEmpty()Z
move-result v6
xor-int/2addr v6, v2
if-eqz v6, :cond_11f
.line 75
move-object v14, v5
check-cast v14, Ljava/lang/Iterable;
move-object v15, v13
check-cast v15, Ljava/lang/CharSequence;
const/16 v16, 0x0
const/16 v17, 0x0
const/16 v18, 0x0
const/16 v19, 0x0
const/16 v20, 0x0
const/16 v21, 0x3e
invoke-static/range {v14 .. v21}, Lkotlin/a/k;->a(Ljava/lang/Iterable;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ILjava/lang/CharSequence;Lkotlin/f/a/b;I)Ljava/lang/String;
move-result-object v6
const-string v7, "thread_list_2"
invoke-interface {v1, v7, v6}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "groups"
.line 76
invoke-static {v5, v6}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V
.line 1354
invoke-interface {v5}, Ljava/util/List;->isEmpty()Z
move-result v6
if-eqz v6, :cond_db
const-string v5, ""
goto :goto_11a
.line 1358
:cond_db
invoke-interface {v5}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v6
:cond_df
invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z
move-result v7
if-eqz v7, :cond_10f
invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v7
check-cast v7, Lkotlin/m;
.line 2000
iget-object v8, v7, Lkotlin/m;->a:Ljava/lang/Object;
.line 1358
check-cast v8, Ljava/lang/String;
.line 3000
iget-object v7, v7, Lkotlin/m;->b:Ljava/lang/Object;
.line 1358
check-cast v7, Ljava/lang/Number;
invoke-virtual {v7}, Ljava/lang/Number;->intValue()I
move-result v7
const-string v9, "Thread-**"
.line 1359
invoke-static {v8, v9}, Lkotlin/f/b/o;->a(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v9
xor-int/2addr v9, v2
if-eqz v9, :cond_109
const-string v9, "pool-**-thread-**"
invoke-static {v8, v9}, Lkotlin/f/b/o;->a(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v9
xor-int/2addr v9, v2
if-nez v9, :cond_10d
:cond_109
const/16 v9, 0x28
if-lt v7, v9, :cond_df
:cond_10d
move-object v5, v8
goto :goto_11a
:cond_10f
const/4 v6, 0x0
.line 1363
invoke-interface {v5, v6}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, Lkotlin/m;
.line 3027
iget-object v5, v5, Lkotlin/m;->a:Ljava/lang/Object;
.line 1363
check-cast v5, Ljava/lang/String;
:goto_11a
const-string v6, "thread_critical_tag"
.line 76
invoke-interface {v1, v6, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 134
:cond_11f
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v5
sub-long/2addr v5, v3
.line 80
invoke-static {v5, v6}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v3
const-string v4, "cost_get_extra"
invoke-interface {v1, v4, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 84
:cond_12d
iget v3, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->criticalType:I
if-ne v3, v2, :cond_15f
iget-object v2, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->oom:Ljava/lang/OutOfMemoryError;
if-eqz v2, :cond_13b
.line 83
invoke-static {v2}, Lsg/bigo/apm/plugins/memoryinfo/c/b;->a(Ljava/lang/OutOfMemoryError;)I
move-result v2
if-eqz v2, :cond_15f
:cond_13b
sget-object v2, Lsg/bigo/apm/plugins/memoryinfo/c/e;->b:Lsg/bigo/apm/plugins/memoryinfo/c/e;
invoke-static {}, Lsg/bigo/apm/plugins/memoryinfo/c/e;->a()Z
move-result v2
if-nez v2, :cond_15f
.line 135
sget-object v2, Lkotlin/w;->a:Lkotlin/w;
:try_start_145
const-string v2, "memory_map"
.line 86
sget-object v3, Lsg/bigo/apm/plugins/memoryinfo/c/a;->b:Lsg/bigo/apm/plugins/memoryinfo/c/a;
invoke-static {}, Lsg/bigo/apm/plugins/memoryinfo/c/a;->e()Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lsg/bigo/apm/b/f;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
const-string v4, "GzipUtils.compress(MemoryUtils.getMemoryMapInfo())"
invoke-static {v3, v4}, Lkotlin/f/b/o;->a(Ljava/lang/Object;Ljava/lang/String;)V
invoke-interface {v1, v2, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 87
sget-object v2, Lkotlin/w;->a:Lkotlin/w;
:try_end_15b
.catchall {:try_start_145 .. :try_end_15b} :catchall_15c
goto :goto_15f
.line 146
:catchall_15c
invoke-static {}, Lsg/bigo/common/a;->e()Z
.line 90
:cond_15f
:goto_15f
iget-object v2, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->memoryInfo:Lsg/bigo/apm/plugins/memoryinfo/b/d;
invoke-virtual {v2}, Lsg/bigo/apm/plugins/memoryinfo/b/d;->toMap()Ljava/util/Map;
move-result-object v2
invoke-interface {v1, v2}, Ljava/util/Map;->putAll(Ljava/util/Map;)V
.line 91
iget-object v2, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->oom:Ljava/lang/OutOfMemoryError;
if-eqz v2, :cond_186
.line 92
invoke-virtual {v2}, Ljava/lang/OutOfMemoryError;->getMessage()Ljava/lang/String;
move-result-object v3
if-nez v3, :cond_174
const-string v3, "unknown"
:cond_174
const-string v4, "oom_msg"
invoke-interface {v1, v4, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 93
invoke-static {v2}, Lsg/bigo/apm/plugins/memoryinfo/c/b;->a(Ljava/lang/OutOfMemoryError;)I
move-result v2
invoke-static {v2}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v2
const-string v3, "oom_type"
invoke-interface {v1, v3, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 59
:cond_186
iput-object v1, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->map:Ljava/util/Map;
return-void
.end method
# virtual methods
.method public final toMap()Ljava/util/Map;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 98
iget-object v0, p0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->map:Ljava/util/Map;
return-object v0
.end method