Skip to content

Commit fd41318

Browse files
authored
Merge branch 'main' into maplexu/AI-141-langsmith-docs
2 parents c3a8d9f + 26272b2 commit fd41318

21 files changed

Lines changed: 232 additions & 87 deletions

File tree

docs/cloud/billing-and-usage/billing-api.mdx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ This API is part of the [Cloud Operations API](/ops).
2020

2121
:::tip Support, stability, and dependency info
2222

23-
The Temporal Cloud Billing API is in [Pre-release](/evaluate/development-production-features/release-stages#pre-release).
23+
The Temporal Cloud Billing API is in [Public Preview](/evaluate/development-production-features/release-stages#public-preview).
2424

2525
:::
2626

@@ -33,7 +33,7 @@ The Billing API allows you to:
3333
The Billing Report contains:
3434

3535
- Accurate Namespace-level cost attribution
36-
- Hourly granularity
36+
- Hourly, daily, and monthly granularities
3737
- A [FOCUS](https://focus.finops.org/)-friendly data format
3838

3939
For complete request and response schemas, refer to the Schema below.
@@ -42,13 +42,16 @@ Billing report generation is **asynchronous**. You initiate report creation, the
4242

4343
## Report data limitations
4444

45-
For pre-release, reports can be generated with hourly granularity only, for the current billing month, and the previous billing month.
45+
For public preview, reports can be generated with hourly, daily and monthly granularities, each of which have their own data ranges.
46+
- Hourly: Current billing month and previous billing month
47+
- Daily: Current billing month and previous two billing months
48+
- Monthly: Current billing month and previous eleven billing months
4649

4750
## Allowed date ranges
4851

4952
Date ranges must use billing-month boundaries (MM/YYYY).
5053
Requests may include the current billing month.
51-
The data in finalized reports includes usage up to `current_time` \- 24 hours (rounded up to nearest hour).
54+
The data in finalized reports includes usage up to `current_time` \- 24 hours (rounded down to the granularity level).
5255

5356
## Rate limits and concurrency
5457

docs/cloud/billing-and-usage/billing.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ The following information appears under the credits table:
8787

8888
## Cost by Namespace {#cost-by-namespace}
8989

90-
:::tip Temporal Cloud Billing API in Pre-release
90+
:::tip Temporal Cloud Billing API in Public Preview
9191

9292
The [Temporal Cloud Billing API](/cloud/billing-api) allows you to access billing information on a Namespace basis to an hourly granularity, enriched with Tags and Projects. The Billing API will replace the Cost by Namespace UI.
9393

docs/cloud/billing-and-usage/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ The following tools are available for measuring Usage and Billing:
4444

4545
:::tip Support, stability, and dependency info
4646

47-
The Temporal Cloud Billing API is in [Pre-release](/evaluate/development-production-features/release-stages#pre-release).
47+
The Temporal Cloud Billing API is in [Public Preview](/evaluate/development-production-features/release-stages#public-preview).
4848

4949
:::
5050

docs/cloud/manage-access/roles-and-permissions.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ The following table provides a summary of the account-level roles and their prim
3636
| Account Owner | Owns and governs the account | Yes | All Namespaces (cannot be revoked) | Full billing, payments, and usage |
3737
| Global Admin | Administers account configuration and users | Yes | All Namespaces (cannot be revoked) | Usage only |
3838
| Developer | Creates and manages Namespaces they own | Yes | Namespaces they create (can be revoked) | None |
39-
| Finance Admin | Manages billing and payment information | No | None | Full billing and payments |
39+
| Finance Admin | Manages billing and payment information | No | None | Full billing, payments, and usage |
4040
| Read-Only | Views account configuration and resources | No | None | None |
4141

4242
Account-level roles don't govern day-to-day operations within a Namespace. Access to resources inside a Namespace, such

docs/develop/dotnet/workflows/child-workflows.mdx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@ A [Child Workflow Execution](/child-workflows) is a Workflow Execution that is s
4040

4141
When using a Child Workflow API, Child Workflow related Events ([StartChildWorkflowExecutionInitiated](/references/events#startchildworkflowexecutioninitiated), [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted), [ChildWorkflowExecutionCompleted](/references/events#childworkflowexecutioncompleted), etc...) are logged in the Workflow Execution Event History.
4242

43-
Always block progress until the [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted) Event is logged to the Event History to ensure the Child Workflow Execution has started.
44-
After that, Child Workflow Executions may be abandoned using the _Abandon_ [Parent Close Policy](/parent-close-policy) set in the Child Workflow Options.
43+
The [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted) Event must be logged to the Event History before the Parent Workflow completes to ensure the Child Workflow has started.
44+
In .NET, awaiting `StartChildWorkflowAsync()` or `ExecuteChildWorkflowAsync()` internally waits for this Event before returning, so the Child Workflow is guaranteed to have started once the call resolves.
45+
If you start a Child Workflow from a non-main context (for example, a Signal or Update handler), make sure the Parent Workflow doesn't complete before that call resolves.
4546

4647
To spawn a Child Workflow Execution in .NET, use the `ExecuteChildWorkflowAsync()` method which starts the Child Workflow and waits for completion or
4748
use the `StartChildWorkflowAsync()` method to start a Child Workflow and return its handle.

docs/develop/go/workers/run-worker-process.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ Create a [`Worker`](https://pkg.go.dev/go.temporal.io/sdk/worker#Worker) by call
2222
2. The name of the Task Queue to poll.
2323
3. A [`worker.Options`](https://pkg.go.dev/go.temporal.io/sdk/internal#WorkerOptions) struct (can be empty for defaults).
2424

25-
Register your Workflow and Activity types, then call `Run()` to start polling.
25+
Register your Workflow and Activity types, then call `Run()` to start polling. The Worker process is a long-running process that blocks while polling for tasks.
26+
Run it in a separate terminal from your starter code or other application logic.
2627

2728
```go
2829
package main

docs/develop/go/workflows/child-workflows.mdx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,9 @@ A [Child Workflow Execution](/child-workflows) is a Workflow Execution that is s
2424

2525
When using a Child Workflow API, Child Workflow related Events ([StartChildWorkflowExecutionInitiated](/references/events#startchildworkflowexecutioninitiated), [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted), [ChildWorkflowExecutionCompleted](/references/events#childworkflowexecutioncompleted), etc...) are logged in the Workflow Execution Event History.
2626

27-
Always block progress until the [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted) Event is logged to the Event History to ensure the Child Workflow Execution has started.
28-
After that, Child Workflow Executions may be abandoned using the _Abandon_ [Parent Close Policy](/parent-close-policy) set in the Child Workflow Options.
29-
30-
To be sure that the Child Workflow Execution has started, first call the Child Workflow Execution method on the instance of Child Workflow future, which returns a different future.
31-
32-
Then get the value of an object that acts as a proxy for a result that is initially unknown, which is what waits until the Child Workflow Execution has spawned.
27+
The [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted) Event must be logged to the Event History before the Parent Workflow completes to ensure the Child Workflow has started.
28+
In Go, you must explicitly call `GetChildWorkflowExecution()` on the `ChildWorkflowFuture` and then call `Get()` on the returned Future to wait for this Event.
29+
See the [Async Child Workflows](#async-child-workflows) section below for a complete example.
3330

3431
To spawn a [Child Workflow Execution](/child-workflows) in Go, use the [`ExecuteChildWorkflow`](https://pkg.go.dev/go.temporal.io/sdk/workflow#ExecuteChildWorkflow) API, which is available from the `go.temporal.io/sdk/workflow` package.
3532

docs/develop/java/workflows/child-workflows.mdx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,9 @@ A [Child Workflow Execution](/child-workflows) is a Workflow Execution that is s
2424

2525
When using a Child Workflow API, Child Workflow related Events ([StartChildWorkflowExecutionInitiated](/references/events#startchildworkflowexecutioninitiated), [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted), [ChildWorkflowExecutionCompleted](/references/events#childworkflowexecutioncompleted), etc...) are logged in the Workflow Execution Event History.
2626

27-
Always block progress until the [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted) Event is logged to the Event History to ensure the Child Workflow Execution has started.
28-
After that, Child Workflow Executions may be abandoned using the _Abandon_ [Parent Close Policy](/parent-close-policy) set in the Child Workflow Options.
29-
30-
To be sure that the Child Workflow Execution has started, first call the Child Workflow Execution method on the instance of Child Workflow future, which returns a different future.
31-
32-
Then get the value of an object that acts as a proxy for a result that is initially unknown, which is what waits until the Child Workflow Execution has spawned.
27+
The [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted) Event must be logged to the Event History before the Parent Workflow completes to ensure the Child Workflow has started.
28+
In Java, you must explicitly call `Workflow.getWorkflowExecution(child)` to get a `Promise`, then call `.get()` on that Promise to wait for this Event.
29+
See the [Parent Close Policy](#parent-close-policy) section below for a complete example.
3330

3431
### Async Child Workflows
3532

docs/develop/php/workflows/child-workflows.mdx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,9 @@ A [Child Workflow Execution](/child-workflows) is a Workflow Execution that is s
2020

2121
When using a Child Workflow API, Child Workflow related Events ([StartChildWorkflowExecutionInitiated](/references/events#startchildworkflowexecutioninitiated), [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted), [ChildWorkflowExecutionCompleted](/references/events#childworkflowexecutioncompleted), etc...) are logged in the Workflow Execution Event History.
2222

23-
Always block progress until the [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted) Event is logged to the Event History to ensure the Child Workflow Execution has started.
24-
After that, Child Workflow Executions may be abandoned using the _Abandon_ [Parent Close Policy](/parent-close-policy) set in the Child Workflow Options.
25-
26-
To be sure that the Child Workflow Execution has started, first call the Child Workflow Execution method on the instance of Child Workflow future, which returns a different future.
27-
28-
Then get the value of an object that acts as a proxy for a result that is initially unknown, which is what waits until the Child Workflow Execution has spawned.
23+
The [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted) Event must be logged to the Event History before the Parent Workflow completes to ensure the Child Workflow has started.
24+
In PHP, yielding `$child->start()` or `Workflow::executeChildWorkflow()` internally waits for this Event before returning, so the Child Workflow is guaranteed to have started once the yield resolves.
25+
See the [Parent Close Policy](#parent-close-policy) section below for an example.
2926

3027
Besides Activities, a Workflow can also start other Workflows.
3128

docs/develop/python/best-practices/python-sdk-sandbox.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ The [`SandboxRestrictions`](https://python.temporal.io/temporalio.worker.workflo
111111
By default, the sandbox completely reloads non-standard-library and non-Temporal modules for every Workflow run. Passing through a module means that the module will not be reloaded every time the Workflow runs. Instead, the module will be imported from outside the sandbox and used directly in the Workflow. This can improve performance because importing a module can be a time-consuming process, and passing through a module can avoid this overhead.
112112

113113
:::note
114-
It is important to note that you should only import _known-side-effect-free_ third-party modules: meaning they don't have any unintended consequences when imported and used multiple times. This is because passing through a module means that it will be used multiple times in a workflow without being reloaded, so any side effects it has will be repeated. For this reason, it's recommended to only pass through modules that are known to be deterministic, meaning they will always produce the same output given the same input.
114+
It is important to note that you should only import _known-side-effect-free_ third-party modules: meaning they don't have any unintended consequences when imported and used multiple times. This is because passing through a module means that it will be used multiple times in a Workflow without being reloaded, so any side effects it has won't be repeated. For this reason, it's recommended to only pass through modules that are known to be deterministic, meaning they will always produce the same output given the same input.
115115
:::
116116

117117
One way to pass through a module is at import time in the Workflow file using the [`imports_passed_through`](https://python.temporal.io/temporalio.workflow.unsafe.html#imports_passed_through) context manager.

0 commit comments

Comments
 (0)