# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


catalog:
  - name: "Java Agent Setup"
    path: "/en/setup/service-agent/java-agent/readme"
  - name: "Container Environment"
    catalog:
      - name: "Setup in Docker"
        path: "/en/setup/service-agent/java-agent/containerization#docker"
      - name: "Setup in Kubernetes"
        path: "/en/setup/service-agent/java-agent/containerization#kubernetes"
  - name: "Advanced Features"
    catalog:
      - name: "Guidance"
        path: "/en/setup/service-agent/java-agent/advanced-features"
      - name: "Setting Override"
        path: "/en/setup/service-agent/java-agent/setting-override"
      - name: "Transport Layer Security (TLS)"
        path: "/en/setup/service-agent/java-agent/tls"
      - name: "Token Authentication"
        path: "/en/setup/service-agent/java-agent/token-auth"
      - name: "Manual APIs"
        catalog:
          - name: "Tracing APIs"
            catalog:
              - name: "Add Trace Toolkit Dependencies"
                path: "/en/setup/service-agent/java-agent/application-toolkit-dependency"
              - name: "Use Native Tracer"
                path: "/en/setup/service-agent/java-agent/application-toolkit-tracer"
              - name: "Read Tracing Context"
                path: "/en/setup/service-agent/java-agent/application-toolkit-trace-read-context"
              - name: "Annotations"
                path: "/en/setup/service-agent/java-agent/application-toolkit-trace-annotation"
              - name: "Use Correlation Context"
                path: "/en/setup/service-agent/java-agent/application-toolkit-trace-correlation-context"
              - name: "Across Thread Solution"
                path: "/en/setup/service-agent/java-agent/application-toolkit-trace-cross-thread"
          - name: "OpenTracing (Deprecated)"
            path: "/en/setup/service-agent/java-agent/opentracing"
          - name: "Meter APIs"
            path: "/en/setup/service-agent/java-agent/application-toolkit-meter"
          - name: "Micrometer Registry"
            path: "/en/setup/service-agent/java-agent/application-toolkit-micrometer"
          - name: "Micrometer 1.10 Observation"
            path: "/en/setup/service-agent/java-agent/application-toolkit-micrometer-1.10"
          - name: "Webflux Tracing Assistant APIs"
            path: "/en/setup/service-agent/java-agent/application-toolkit-webflux"
          - name: "Kafka Tracing Assistant APIs"
            path: "/en/setup/service-agent/java-agent/application-toolkit-kafka"  
      - name: "Tolerate Custom Exceptions"
        path: "/en/setup/service-agent/java-agent/how-to-tolerate-exceptions"
      - name: "Log & Trace Correlation"
        catalog:
          - name: "Log4j"
            path: "/en/setup/service-agent/java-agent/application-toolkit-log4j-1.x"
          - name: "Log4j2"
            path: "/en/setup/service-agent/java-agent/application-toolkit-log4j-2.x"
          - name: "Logback"
            path: "/en/setup/service-agent/java-agent/application-toolkit-logback-1.x/"
      - name: "Logic Endpoint"
        path: "/en/setup/service-agent/java-agent/logic-endpoint"
      - name: "Agent Self Observability"
        path: "/en/setup/service-agent/java-agent/Agent-self-observability"
  - name: "Plugins"
    catalog:
      - name: "Supported middleware, framework and library"
        path: "/en/setup/service-agent/java-agent/Supported-list"
      - name: "Optional Plugins"
        catalog:
          - name: "Plugin Manifest"
            path: "/en/setup/service-agent/java-agent/Optional-plugins"
          - name: "Spring Annotation Plugin"
            path: "/en/setup/service-agent/java-agent/agent-optional-plugins/Spring-annotation-plugin"
          - name: "Spring Gateway"
            path: "/en/setup/service-agent/java-agent/agent-optional-plugins/spring-gateway"
          - name: "Custom Trace Ignoring"
            path: "/en/setup/service-agent/java-agent/agent-optional-plugins/trace-ignore-plugin"
          - name: "Kotlin Coroutine"
            path: "/en/setup/service-agent/java-agent/agent-optional-plugins/Kotlin-Coroutine-plugin"
      - name: "Bootstrap/JVM class plugin"
        path: "/en/setup/service-agent/java-agent/Bootstrap-plugins"
      - name: "Agent Configuration Properties"
        path: "/en/setup/service-agent/java-agent/configurations"
      - name: "Dynamic Configurations"
        path: "/en/setup/service-agent/java-agent/configuration-discovery"
      - name: "Advanced reporters"
        path: "/en/setup/service-agent/java-agent/advanced-reporters"
      - name: "Plugin Test Guide"
        path: "/en/setup/service-agent/java-agent/Plugin-test/"
      - name: "Plugin Development Guide"
        path: "/en/setup/service-agent/java-agent/java-plugin-development-guide/"
      - name: "Java Agent Performance Test"
        path: "https://skyapmtest.github.io/Agent-Benchmarks/"
      - name: "Claude Code Skills"
        path: "/en/setup/service-agent/java-agent/Claude-Skills"
  - name: "FAQs"
    catalog:
      - name: "Why is java.ext.dirs not supported?"
        path: "/en/faq/ext-dirs"
      - name: "How to make SkyWalking agent works in `OSGI` environment?"
        path: "/en/faq/osgi"
  - name: "Contribution"
    catalog:
      - name: "Compiling Guidance"
        path: "/en/contribution/compiling/"
      - name: "Java Agent Release Guidance"
        path: "/en/contribution/release-java-agent/"
  - name: "Changelog"
    path: "https://github.com/apache/skywalking-java/tree/master/changes"
