|
10 | 10 | import io.sentry.ProfileContext; |
11 | 11 | import io.sentry.SpanContext; |
12 | 12 | import io.sentry.util.AutoClosableReentrantLock; |
| 13 | +import io.sentry.util.CollectionUtils; |
13 | 14 | import io.sentry.util.HintUtils; |
14 | 15 | import io.sentry.util.Objects; |
15 | 16 | import io.sentry.vendor.gson.stream.JsonToken; |
16 | 17 | import java.io.IOException; |
17 | | -import java.util.Arrays; |
18 | 18 | import java.util.Enumeration; |
19 | 19 | import java.util.HashMap; |
20 | 20 | import java.util.Map; |
|
27 | 27 | public class Contexts implements JsonSerializable { |
28 | 28 | private static final long serialVersionUID = 252445813254943011L; |
29 | 29 | public static final String REPLAY_ID = "replay_id"; |
30 | | - private static final String[] EMPTY_KEYS = new String[0]; |
31 | 30 |
|
32 | 31 | private final @NotNull ConcurrentHashMap<String, Object> internalStorage = |
33 | 32 | new ConcurrentHashMap<>(); |
@@ -302,8 +301,7 @@ public void serialize(final @NotNull ObjectWriter writer, final @NotNull ILogger |
302 | 301 | throws IOException { |
303 | 302 | writer.beginObject(); |
304 | 303 | // Serialize in alphabetical order to keep determinism. |
305 | | - final String[] sortedKeys = internalStorage.keySet().toArray(EMPTY_KEYS); |
306 | | - Arrays.sort(sortedKeys); |
| 304 | + final String[] sortedKeys = CollectionUtils.toSortedStringArray(keys(), internalStorage.size()); |
307 | 305 | for (final String key : sortedKeys) { |
308 | 306 | final Object value = get(key); |
309 | 307 | if (value != null) { |
|
0 commit comments