Skip to content

Conversation

@anuruddhal
Copy link
Member

Purpose

  • Add BI logs support

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 19, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Comment on lines +68 to +69
resource function post logs(http:Request request, types:ICPLogEntryRequest logRequest) returns types:LogEntriesResponse|error {
log:printInfo("Received log request: " + logRequest.toString());

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 1

Suggested change
resource function post logs(http:Request request, types:ICPLogEntryRequest logRequest) returns types:LogEntriesResponse|error {
log:printInfo("Received log request: " + logRequest.toString());
resource function post logs(http:Request request, types:ICPLogEntryRequest logRequest) returns types:LogEntriesResponse|error {
log:printInfo("Received log request for components: " + (logRequest.componentIdList ?: [logRequest.componentId ?: "none"]).toString() + ", environments: " + (logRequest.environmentList ?: [logRequest.environmentId ?: "none"]).toString());

Comment on lines +102 to +104

// Invoke observability adapter service
return check observabilityClient->post("/observability/logs/", adaptorRequest);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 2

Suggested change
// Invoke observability adapter service
return check observabilityClient->post("/observability/logs/", adaptorRequest);
// Invoke observability adapter service
types:LogEntriesResponse response = check observabilityClient->post("/observability/logs/", adaptorRequest);
log:printInfo("Successfully retrieved " + response.rows.length().toString() + " log entries");
return response;

Comment on lines +1366 to +1379
public type ICPLogEntryRequest record {
string componentId?;
string[] componentIdList?;
string environmentId?;
string[] versionIdList?;
string[] environmentList?;
string[] logLevels?;
string region?;
string searchPhrase?;
string regexPhrase?;
string startTime?;
string endTime?;
int 'limit = 100;
LogEntryRequestSort sort = "asc";
};

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 3

Suggested change
public type ICPLogEntryRequest record {
string componentId?;
string[] componentIdList?;
string environmentId?;
string[] versionIdList?;
string[] environmentList?;
string[] logLevels?;
string region?;
string searchPhrase?;
string regexPhrase?;
string startTime?;
string endTime?;
int 'limit = 100;
LogEntryRequestSort sort = "asc";
};
string componentId?;
string[] componentIdList?;
string environmentId?;
string[] environmentList?;
string[] logLevels?;
string region?;
string searchPhrase?;
string regexPhrase?;
string startTime?;
string endTime?;
int 'limit = 100;
LogEntryRequestSort sort = "asc";
};
log:info("ICPLogEntryRequest record type initialized with default limit: 100 and sort: asc");

Comment on lines +1381 to 1385
public type LogEntryRequest record {
string[] runtimeIdList = [];
string[] logLevels?;
string region?;
string searchPhrase?;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 4

Suggested change
public type LogEntryRequest record {
string[] runtimeIdList = [];
string[] logLevels?;
string region?;
string searchPhrase?;
public type LogEntryRequest record {
string[] runtimeIdList = [];
string[] logLevels?;
string region?;
string searchPhrase?;
log:info("LogEntryRequest record type initialized with empty runtimeIdList");

Comment on lines 71 to +72
resource function post logs(@http:Header {name: "X-API-Key"} string? apiKeyHeader, http:Request request, types:LogEntryRequest logRequest) returns types:LogEntriesResponse|error {
log:printInfo("Received log request for component: " + logRequest.componentId);
log:printInfo("Received log request for component: " + logRequest.toString());

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 5

Suggested change
resource function post logs(@http:Header {name: "X-API-Key"} string? apiKeyHeader, http:Request request, types:LogEntryRequest logRequest) returns types:LogEntriesResponse|error {
log:printInfo("Received log request for component: " + logRequest.componentId);
log:printInfo("Received log request for component: " + logRequest.toString());
log:printInfo("Received log request for component: " + logRequest.componentId);
log:printDebug("Received log request: runtimeIds=" + logRequest.runtimeIdList.toString() + ", logLevels=" + (logRequest.logLevels != null ? logRequest.logLevels.toString() : "null"));

Comment on lines +145 to +148
// Filter by runtime IDs if specified
string[] runtimeIds = logRequest.runtimeIdList;
if (runtimeIds.length() > 0) {
mustClauses.push({

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log Improvement Suggestion No: 6

Suggested change
// Filter by runtime IDs if specified
string[] runtimeIds = logRequest.runtimeIdList;
if (runtimeIds.length() > 0) {
mustClauses.push({
// Filter by runtime IDs if specified
string[] runtimeIds = logRequest.runtimeIdList;
if (runtimeIds.length() > 0) {
log:printDebug("Filtering logs by runtime IDs: " + runtimeIds.toString());
mustClauses.push({

Copy link

@wso2-engineering wso2-engineering bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI Agent Log Improvement Checklist

⚠️ Warning: AI-Generated Review Comments

  • The log-related comments and suggestions in this review were generated by an AI tool to assist with identifying potential improvements. Purpose of reviewing the code for log improvements is to improve the troubleshooting capabilities of our products.
  • Please make sure to manually review and validate all suggestions before applying any changes. Not every code suggestion would make sense or add value to our purpose. Therefore, you have the freedom to decide which of the suggestions are helpful.

✅ Before merging this pull request:

  • Review all AI-generated comments for accuracy and relevance.
  • Complete and verify the table below. We need your feedback to measure the accuracy of these suggestions and the value they add. If you are rejecting a certain code suggestion, please mention the reason briefly in the suggestion for us to capture it.
Comment Accepted (Y/N) Reason
#### Log Improvement Suggestion No: 1
#### Log Improvement Suggestion No: 2
#### Log Improvement Suggestion No: 3
#### Log Improvement Suggestion No: 4
#### Log Improvement Suggestion No: 5
#### Log Improvement Suggestion No: 6

@anuruddhal anuruddhal merged commit 0384c99 into wso2:icp2 Dec 19, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants