public String getUserFavorites()

in Elastiflix/java-favorite-otel-manual/src/main/java/com/movieapi/ApiServlet.java [142:179]


    public String getUserFavorites(String user_id) {
        Span span = GlobalOpenTelemetry.getTracer(SERVICE_NAME).spanBuilder("Redis.Get").setSpanKind(SpanKind.CLIENT).startSpan();
        String returnedFavorites = "";
        Jedis jedis = r.getResource();

        try (Scope scope = span.makeCurrent()) {
            span.setAttribute("db.system", "redis");
            span.setAttribute("db.connection_string", redisHost);
            span.setAttribute("db.statement", "GET user_id" + user_id);

            handleDelay();

            logger.info("Getting favorites for user " + user_id);

            List<String> favorites = new ArrayList<>(jedis.smembers(user_id));
            JSONObject favorites_json = new JSONObject();
            favorites_json.put("favorites", favorites);

            logger.info("User " + user_id + " has favorites " + favorites);

            logger.info("Delay time is " + delayTime);
            logger.info("Sleep time is " + sleepTime);
            logger.info("Toggle canary failure is " + toggleCanaryFailure);

            returnedFavorites =  favorites_json.toString();

        } catch (Exception e) {
            span.setStatus(StatusCode.ERROR, "Error while getting data from Redis");
            span.recordException(e);
        } finally {
            jedis.close();
            span.end();
        }
        // get currently active span
        Span currentSpan = Span.current();
        currentSpan.setStatus(StatusCode.OK);
        return returnedFavorites;
    }